{"id":14031,"date":"2013-04-15T12:47:23","date_gmt":"2013-04-15T10:47:23","guid":{"rendered":"http:\/\/davidbosman.fr\/blog\/?p=14031"},"modified":"2013-04-15T12:49:47","modified_gmt":"2013-04-15T10:49:47","slug":"ranger-proprement-les-liens-a-la-fin-dun-document-markdown","status":"publish","type":"post","link":"https:\/\/www.davidbosman.fr\/blog\/2013\/04\/15\/ranger-proprement-les-liens-a-la-fin-dun-document-markdown\/","title":{"rendered":"Ranger automatiquement les liens \u00e0 la fin d&#8217;un document Markdown"},"content":{"rendered":"<p>@urbanbike, qui nous a expliqu\u00e9 <a href=\"http:\/\/www.urbanbike.com\/index.php\/site\/ulysses-iii-range-les-huds\">comment faire dans Ulysses<\/a>, n&#8217;est pas le seul utilisateur de Markdown \u00e0 vanter les m\u00e9rites qu&#8217;il y a ranger proprement les liens \u00e0 la fin d&#8217;un document Markdown \u2014 plut\u00f4t que de les laisser dans le corps du texte. C&#8217;est vrai que \u00e7a le rend plus lisible, on passe de \u00e7a :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/04\/text_mate_screen_snapz_001.png\" alt=\"Text Mate Screen Snapz 001\" \/><\/p>\n\n<p>\u00e0 \u00e7a :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/04\/text_mate_screen_snapz_002.png\" alt=\"Text Mate Screen Snapz 002\" \/><\/p>\n\n<p>Le probl\u00e8me \u00e9tant que \u00e7a ne colle pas avec ma fa\u00e7on d&#8217;\u00e9crire (je copie-colle les liens au fur et \u00e0 mesure o\u00f9 j&#8217;\u00e9cris mes articles, la plupart du temps) et, surtout, je passe l&#8217;essentiel de mon temps dans  <a href=\"http:\/\/davidbosman.fr\/blog\/tag\/textmate\/\">TextMate<\/a>, pas dans Ulysses.<\/p>\n\n<p>J&#8217;ai donc cherch\u00e9 comment faire la m\u00eame chose sans quitter TextMate, ou n&#8217;importe quel autre \u00e9diteur de texte. La solution s&#8217;appelle <a href=\"http:\/\/drbunsen.github.io\/formd\/\">formd<\/a>.<\/p>\n\n<h3>Installer formd<\/h3>\n\n<p>Je vous recommande d&#8217;installer <a href=\"http:\/\/git-scm.com\">git<\/a>, pour vous simplifier la vie.<\/p>\n\n<p>Ensuite, r\u00e9cup\u00e9rez <code>formd<\/code> sur <a href=\"https:\/\/github.com\/drbunsen\/formd\">Github<\/a> et installez-le en tapant ceci depuis le Terminal \u2014 une instruction qui lui dit d&#8217;installer les fichiers requis dans votre dossier <strong>~\/bin<\/strong> (`qui est un bon emplacement o\u00f9 placer des fichiers ex\u00e9cutables) :<\/p>\n\n<p><code>git clone https:\/\/github.com\/drbunsen\/formd.git ~\/bin\/<\/code><\/p>\n\n<h3>Comment \u00e7a marche ?<\/h3>\n\n<p>Th\u00e9oriquement, donc, on est cens\u00e9 passer par le Terminal, pour utiliser formd en tapant une commande aussi myst\u00e9rieuse qu&#8217;une formule magique dans une aventure de Harry Potter :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/04\/terminal_screen_snapz_001.png\" alt=\"Terminal Screen Snapz 001\" \/><\/p>\n\n<p>Ce qui marche tr\u00e8s bien, mais fait peur \u00e0 pas mal de monde. Heureusement, ce n&#8217;est pas obligatoire. Comme le pr\u00e9cise le dev\u00e9loppeur lui-m\u00eame, on peut tout faire depuis ce brave <a href=\"http:\/\/smilesoftware.com\/TextExpander\/index.html\">TextExpander<\/a>, mais pas seulement.<\/p>\n\n<h4>Avec TextExpander<\/h4>\n\n<p>Il suffit de se cr\u00e9er un nouveau script shell dans TextExpander et de lui assigner un raccourci clavier (fff, dans mon cas) :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/04\/safari_screen_snapz_001.png\" alt=\"Safari Screen Snapz 001\" \/><\/p>\n\n<ol>\n<li>Une fois le texte tap\u00e9 pr\u00eat \u00e0 \u00eatre nettoy\u00e9, on le s\u00e9lectionne et on fait un <strong>&#x2318;+C<\/strong>, pour placer son contenu dans le presse-papier.<\/li>\n<li>On tape le raccourci d\u00e9fini dans TextExpander. Le texte est pass\u00e9 \u00e0 la moulinette de formd puis remplac\u00e9 par le texte nettoy\u00e9. Joie.<\/li>\n<\/ol>\n\n<p>Attention, si le texte contenait des images ins\u00e9r\u00e9es en Markdown, elles seront aussi converties et ne fonctionneront plus. Il faudra donc les reformater : je suis preneur de toute astuce pour \u00e9viter \u00e7a.<\/p>\n\n<h4>Avec les Services Markdown de Brett<\/h4>\n\n<p>Brett propose une s\u00e9rie de <a href=\"http:\/\/brettterpstra.com\/projects\/markdown-service-tools\/\">services pour OS X<\/a> qui facilite l&#8217;utilisation du Markdown.<\/p>\n\n<p>M\u00eame si vous n&#8217;avez pas forc\u00e9ment besoin de tous, il y en a un qui se charge de piloter formd depuis le menu <strong>Services<\/strong>, ou depuis un raccourci clavier que vous aurez d\u00e9fini dans les <strong>Pr\u00e9f\u00e9rences syst\u00e8me->Clavier->Raccourcis Clavier<\/strong> :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/04\/pref.png\" alt=\"Pref\" \/><\/p>\n\n<h3>Top &amp; flop<\/h3>\n\n<p>L&#8217;avantage de cette solution, que vous optiez pour TextExpander ou les services de Brett, c&#8217;est qu&#8217;elle marchera avec l&#8217;\u00e9diteur de texte de votre choix et pas seulement dans Ulysses ou TextMate.<\/p>\n\n<p><code>formd<\/code> est un script shell \u2014 ce qui fait peur, comme le croquemitaine ou le monstre sous le lit.<\/p>\n\n<p>L&#8217;autre souci, mentionn\u00e9 plus haut, c&#8217;est que le script semble avoir la mauvaise habitude de modifier aussi les liens vers les images. Je ne sais pas comment emp\u00eacher \u00e7a, sauf peut-\u00eatre en d\u00e9cidant d&#8217;ins\u00e9rer les images non plus en Markdown, mais en HTML ?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>@urbanbike, qui nous a expliqu\u00e9 comment faire dans Ulysses, n&#8217;est pas le seul utilisateur de Markdown \u00e0 vanter les m\u00e9rites qu&#8217;il y a ranger proprement les liens \u00e0 la fin d&#8217;un document Markdown \u2014 plut\u00f4t que de les laisser dans &hellip; <a href=\"https:\/\/www.davidbosman.fr\/blog\/2013\/04\/15\/ranger-proprement-les-liens-a-la-fin-dun-document-markdown\/\">Read more &rarr;<\/a><\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[38,52,51],"class_list":["post-14031","post","type-post","status-publish","format-standard","hentry","category-general","tag-markdown","tag-scripts","tag-txt"],"_links":{"self":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/14031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/comments?post=14031"}],"version-history":[{"count":2,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/14031\/revisions"}],"predecessor-version":[{"id":14033,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/14031\/revisions\/14033"}],"wp:attachment":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/media?parent=14031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/categories?post=14031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/tags?post=14031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}