tag:linuxfr.org,2005:/tags/txt2tags/publicLinuxFr.org : les contenus étiquetés avec « txt2tags »2023-11-30T23:37:02+01:00/favicon.pngtag:linuxfr.org,2005:Diary/409572023-11-29T12:00:14+01:002023-11-29T12:00:14+01:00Appel à contribution (code) pour lionwiki-t2t Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Lionwiki-t2t est un outil en ligne de prise de notes, de type wiki, qui avait été présenté il y a quelques années (presque 10 ans déjà…) : <br>
<a href="//linuxfr.org/users/fravashyo/journaux/lionwiki-prendre-ses-notes-indifferemment-depuis-son-smartphone-hors-ligne-ou-une-interface-web">https://linuxfr.org/users/fravashyo/journaux/lionwiki-prendre-ses-notes-indifferemment-depuis-son-smartphone-hors-ligne-ou-une-interface-web</a></p>
<p>Depuis, ce projet a évolué et s'est raffiné pour apporter encore plus de confort, même si ça reste quelque chose de rustique.</p>
<p>L'auteur d'origine de lionwiki (qui est apparemment en lui-même déjà un fork de WiKiss en 2008) n'a pas voulu entendre parler de mes ajouts, à savoir l'intégration de la syntaxe txt2tags et des son incroyable extensibilité, et a depuis délaissé son logiciel, indiquant ensuite sur sa page "This project is dead and not recommended for use in new projects." ("Ce projet est mort et il n'est pas recommandé de l'utiliser pour de nouveaux projets."). Depuis, le site semble avoir disparu d'ailleurs 😅</p>
<p>C'est dommage parce qu'il a un énorme potentiel, et pour avoir essayé d'autres systèmes de CMS ou de wiki, cela reste mon préféré:</p>
<ul>
<li>il est simple (KISS) et léger (moins de 100 ko dans sa version de base avec juste 4 fichiers, même si les modules externes, les thèmes, l'ont fait un peu grossir depuis)</li>
<li>il est extensible</li>
<li>il est hackable</li>
</ul>
<p>Je l'utilise réellement tous les jours, pour des sites web, pour des prises de notes perso, comme base de connaissance ou outil de planification. Il tourne encore sur le vieux php des pages perso de Free, mais j'ai également fait des adaptations pour le rendre compatible avec PHP 7, puis PHP 8, et il est aussi intégré dans YunoHost.</p>
<p>Je suis un piètre programmeur, mais le système txt2tags avec ses regex magiques me permet d'adapter quasiment tout ce dont j'ai besoin. </p>
<p>J'ai récemment rajouté des modules pour programmer en FORTH dessus, pour composer des livres dont vous êtes le héros, ainsi qu'un système pour afficher des partitions musicales (au format notation abc). Des utilisateurs se plaignent que le langage de balisage léger txt2tags n'est pas assez connu ? Hop, je rajoute un support (partiel) de la syntaxe Markdown. 😎</p>
<p>Il gère aussi les todo.txt, les barres de progression, des thèmes responsifs, etc</p>
<p>J'ai travaillé également sur des thèmes plus sympas, réutilisant des projets ou des idées de ci, de là. Par exemple le thème Mimoza, utilisé par Scribouilli, ou des templates inspirés par le "brutisme" ou Bootstrap.</p>
<p>Si vous souhaitez contribuer, par exemple en regardant comment optimiser le code php ou trouver des failles éventuelles, ça pourrait donner un coup de main au projet. Je réfléchis également à pouvoir créer des sites statiques à partir des sources textuelles et d'un modèle donné (comme on peut avoir avec Pelican, Hugo, Jekyll et compagnie)</p>
<p><a href="https://lionwiki-t2t.sourceforge.io">https://lionwiki-t2t.sourceforge.io</a></p>
<p>Le dépôt est actuellement sur sourceforge parce qu'il permettait de continuer à utiliser mercurial que j'avais à l'origine, mais je ne suis pas fermé à passer ailleurs si une équipe se constituait. Un miroir se trouve également sur <a href="https://github.com/farvardin/lionwiki-t2t">https://github.com/farvardin/lionwiki-t2t</a></p>
<p>Bref, je me sens un peu seul dans ce projet, et j'aimerais bien trouver de nouvelles idées, du dynamisme et d'autres points de vue :)</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f692e6962622e636f2f6a34634c3042702f323032332d30372d31302d31302d30312e706e67/2023-07-10-10-01.png" alt="copie d'écran de lionwiki-t2t" title="Source : https://i.ibb.co/j4cL0Bp/2023-07-10-10-01.png"></p>
<div><a href="https://linuxfr.org/users/zurvan-0/journaux/appel-a-contribution-code-pour-lionwiki-t2t.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134028/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/zurvan-0/journaux/appel-a-contribution-code-pour-lionwiki-t2t#comments">ouvrir dans le navigateur</a>
</p>
zurvanhttps://linuxfr.org/nodes/134028/comments.atomtag:linuxfr.org,2005:Post/358802015-09-30T09:48:18+02:002015-09-30T17:37:10+02:00[txt2tags] Résolu: Utilisation des templates<p>Bonjour à tou(te)s,</p>
<p>Afin de m'affranchir de la rédaction de document LaTeX qui m'agace profondément et tout en voulant conserver la "qualité LaTeX", c'est tout naturellement que je me suis tourné vers txt2tags, qui me rend d'excellents services.</p>
<p>Je suis ici pour essayer de rationaliser un peu mon processus de création de document et essayer de comprendre un peu mieux le fonctionnement de txt2tags.</p>
<p>Actuellement, j'ai un makefile pour chacun de mes documents de la forme suivante (du HTML pour les copains, PDF pour moi, tout dépend de ma cible):</p>
<pre><code>DOCUMENT = newdoc
TXT2TAGS = txt2tags
all: pdf clean html
html:
$(TXT2TAGS) -t xhtml --toc --css-inside --outfile $(DOCUMENT).html $(DOCUMENT).t2t
pdf:
$(TXT2TAGS) -t tex --outfile $(DOCUMENT).tex $(DOCUMENT).t2t
-pdflatex -interaction batchmode $(DOCUMENT).tex
clean:
-rm *~
-rm .*~
-rm $(DOCUMENT).toc
-rm $(DOCUMENT).tex
-rm *.log
-rm *.out
-rm *.aux
</code></pre>
<p>Je tape ce qu'il me faut dans le document, puis un <code>make pdf</code>. C'est à ce moment là que je vais modifier le .tex de sortie pour modifier deux choses:</p>
<ul>
<li>Enlever le <code>\cleanpage</code> pour éviter de sauter une page</li>
<li>Rajouter <code>\geometry{hmargin=2.5cm,vmargin=1.5cm}</code> parce que je trouve le textwidth trop étroit.</li>
</ul><p>Aussi, dans mon document t2t, j'utilise ceci:</p>
<pre><code>% Packages supplémentaires
%!style(tex): babel
%!style(tex): mathdesign
%!style(tex): geometry
% Gestion babel français + font
%!postproc(tex): {babel} [frenchb]{babel}
%!postproc(tex): {mathdesign} [charter]{mathdesign}
</code></pre>
<p>Au final, tout ceci est légèrement lourd, même si c'est beaucoup mieux que de taper du LaTeX à rallonge. J'ai vu dans une news (il y a quelques temps et en faisant des recherches sur mon souci actuel) que txt2tags en version 2.6 gérait les templates. Je m'attendais à faire comme avec c.vim, trouver les fichiers de template de base et les modifier pour éviter de venir bidouiller le .tex pondu par txt2tags. <br>
Sauf que je n'ai trouvé aucun template qui vient avec txt2tags.</p>
<p>Auriez-vous une explication quant aux "templates" ? Où les trouver ? Comment les utiliser / modifier ?</p>
<p>D'avance merci pour vos réponses, et un grand bravo aux auteurs et contributeurs de ce fabuleux outil.</p>
<p><em>Edit: Résolu</em></p><div><a href="https://linuxfr.org/forums/programmationautre/posts/txt2tags-resolu-utilisation-des-templates.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/106908/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmationautre/posts/txt2tags-resolu-utilisation-des-templates#comments">ouvrir dans le navigateur</a>
</p>
Pwaythttps://linuxfr.org/nodes/106908/comments.atomtag:linuxfr.org,2005:News/333772012-09-28T13:59:56+02:002012-09-28T15:37:58+02:00Sortie de txt2tags en version PHPLicence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<div><p><em>Txt2tags</em> vous connaissez ?</p>
<p>C’est le grand perdant du <em>« lightweight markup war »</em> (la guerre des <a href="https://fr.wikipedia.org/wiki/Langage_de_balisage_l%C3%A9ger">langages de balisage légers</a>) : bien que plutôt logique dans sa syntaxe, d’ailleurs proche de la syntaxe de <a href="https://fr.wikipedia.org/wiki/Wikicr%C3%A9ole"><em>Creole</em></a>, ce dernier justifiant ses choix dans une <a href="http://www.wikicreole.org/wiki/Reasoning">étude fort détaillée</a>, donc applicable dans une certaine mesure à <em>txt2tags</em>, extensible sans produire des dérivés incompatibles entre eux (on expliquera comment plus loin), créé avant toutes les autres syntaxes wiki légères, il arrive pourtant bon dernier en termes de part de marché, c’est‐à‐dire d’utilisation, face à <a href="http://fr.wikipedia.org/wiki/_MediaWiki_" title="Définition Wikipédia"><em>MediaWiki</em></a>, <a href="http://fr.wikipedia.org/wiki/_Markdown_" title="Définition Wikipédia"><em>Markdown</em></a>, <a href="http://fr.wikipedia.org/wiki/_ReStructuredText_" title="Définition Wikipédia"><em>ReStructuredText</em></a>, etc.</p>
<p>Pourquoi ? Divers paramètres entrent sans doute en compte dans cet état de fait. Néanmoins, <em>txt2tags</em> ayant été programmé en Python, on peut imaginer que ce langage n’étant pas disponible sur la plupart des hébergements mutualisés, il n’était pas question de l’utiliser dans des projets nécessitant un wiki en ligne, d’où un délaissement du langage de la part des utilisateurs potentiels.</p>
<p>Ce créneau a donc été pris dans une large part par l’implémentation en PHP de <em>Markdown</em>, que l’on retrouve absolument partout, et du coup la syntaxe <em>Markdown</em> étant connue, elle a été démocratisée selon un cercle vicieux qui a fait que de nombreux services l’ont pris en compte par ailleurs, même en utilisant une autre implémentation (<em>Ruby</em>, etc.). Ainsi, <em>Markdown</em>, ou l’une de ses versions modifiées initiées pour pallier ses limitations de base, comme <em>Markdown Extra</em> ou <em>GitHub Flavored Markdown</em>, sont la syntaxe par défaut de <a href="http://fr.wikipedia.org/wiki/Diaspora_%28logiciel%29"><em>Diaspora</em></a>, <em>LinuxFr.org</em>, <em>Tumblr</em>, <em>GitHub</em>, etc.</p>
<p>Mais la lutte n’est pas finie !</p></div><ul><li>lien nᵒ 1 : <a title="http://txt2tags.org/txt2tags.form.php" hreflang="en" href="https://linuxfr.org/redirect/83540">txt2tags-php en ligne, et téléchargement</a></li><li>lien nᵒ 2 : <a title="http://txt2tags.org/" hreflang="en" href="https://linuxfr.org/redirect/83547">Le site de txt2tags</a></li></ul><div><p><em>txt2tags</em> a maintenant une implémentation en PHP lui permettant dorénavant de revenir sur le devant de la scène, même si cette nouvelle version ne remet aucunement en cause la raison d’être de la version Python, plus complète dans ses exportations possibles. Cette implémentation a été réalisée par le développeur <a href="http://notamment.fr/">Petko Yotov</a>, également contributeur principal au projet <a href="http://www.pmwiki.org"><em>PmWiki</em></a>.</p>
<p>Le code est suffisamment clair et compact pour être réutilisé dans d’autres projets similaires (il est aisé de l’adapter à une autre syntaxe), d’autant plus qu’il est publié sous licence GPL v3. Voyons donc ce que <em>txt2tags-php</em> propose de bon :</p>
<ul><li>exportation uniquement vers le format HTML ;</li>
<li>la syntaxe demeure inchangée ;</li>
<li>les préprocesseur et post‐processeur restent bien présents ;</li>
<li>les <a href="http://fr.wikipedia.org/wiki/expressions régulières" title="Définition Wikipédia">expressions régulières</a> sont également prises en charge.</li>
</ul><p>Exportation vers le format HTML : pour diffuser sur le Web, le format du Web est le seul vraiment nécessaire et suffisant. Pas la peine de s’encombrer avec de l’exportation vers les plus de 40 formats existants dans <em>txt2tags</em>.</p>
<p>La syntaxe reste la même : un document écrit pour <em>txt2tags</em> en Python s’affichera de la même manière dans la version <em>txt2tags-php</em>, ce qui bien est la moindre des choses.</p>
<p>Reste à réfléchir à la grande question philosophique tournant autour de <em>txt2tags :</em> « est‐ce que ce qui fait son essence c’est juste sa syntaxe sympa, ou bien c’est sa manière de fonctionner en entier qui est nécessaire pour rendre justice à tout le concept ? ».</p>
<p>En effet, les préprocesseurs et post‐processeurs intégrés donnent toute leur puissance à ce logiciel. Comme mentionné plus haut, il est possible de remplacer n’importe quelle portion de texte et ainsi d’étendre la syntaxe de <em>txt2tags</em> avec quelques lignes de code, dans le corps même du document, si bien que ces extensions ponctuelles sont immédiatement lisibles et visibles pour tous les utilisateurs potentiels du document en question.</p>
<p>Ainsi on pourra écrire pour un remplacement standard de caractères :</p>
<pre>
<code class="">%!preproc: 'MEILLEUR-EDITEUR-DE-TEXTE' 'Vim'
</code>
</pre>
<blockquote>
<p>Mes chers amis, je voulais vous présenter ce soir une petite conférence sur MEILLEUR-EDITEUR-DE-TEXTE. J’utilise tous les jours MEILLEUR-EDITEUR-DE-TEXTE pour le meilleur et pour le pire, et je ne pourrai vraiment plus me passer de MEILLEUR-EDITEUR-DE-TEXTE.</p>
</blockquote>
<p>Ensuite, selon le public visé, il suffit de remplacer « Vim » par « Nano », pour ne pas froisser certaines susceptibilités.</p>
<p>Pour l’extension ou la modification de syntaxe, si par exemple on préfère sortir du (X)HTML strict, pour avoir <code><em></code> à la place de la balise <code><i></code> et <code><strong></code> à la place de <code><b></code>, on peut utiliser les règles suivantes :</p>
<pre>
<code class="">%!postproc: '<i>' '<em>'
%!postproc: '</i>' '</em>'
%!postproc: '<b>' '<strong>'
%!postproc: '</b>' '</strong>'
</code>
</pre>
<p>Tout est possible à ce niveau.</p>
<p>Enfin, pour les expressions régulières, ça renforce encore l'intérêt des pré‐processeur et post‐processeur.</p>
<p>Par exemple, on peut créer un système simplifié de « livre dont vous êtes le héros », en rajoutant simplement ces 2 lignes :</p>
<ul><li><p><code>%!preproc: '(\d+)$' '**[\1 #\1]**'</code>, pour obtentir des liens en gras pour les nombres en fin de ligne (<code>[description lien]</code> étant la syntaxe <em>txt2tags</em> pour les liens) ;</p></li>
<li><p><code>%!preproc: '^== (\d+) ==' '==\1==[\1]'</code>, pour qu'un titre puisse avoir une ancre avec son propre nom.</p></li>
</ul><p>Ainsi, on pourra créer des liens hypertextes avec ce type de fichier source :</p>
<pre>
<code class="">== 1 ==
Ceci est le premier chapitre.
- Aller au chapitre 2
- Aller au chapitre 3
== 2 ==
etc.
</code>
</pre>
<p>Plutôt simple, non ?</p>
<p>Vous pouvez aller tester tout cela sur la page du logiciel, et télécharger l’exemple réutilisable sur n’importe quel espace d’hébergement.</p></div><div><a href="https://linuxfr.org/news/sortie-de-txt2tags-en-version-php.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/95776/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/sortie-de-txt2tags-en-version-php#comments">ouvrir dans le navigateur</a>
</p>
fravashyoDavy DefaudFlorent ZaraXavier Teyssierpatrick_ghttps://linuxfr.org/nodes/95776/comments.atom