Coder Social home page Coder Social logo

zestedesavoir / python-zmarkdown Goto Github PK

View Code? Open in Web Editor NEW
12.0 17.0 10.0 2.18 MB

NOT USED ANYMORE. Small fork of original Python-Markdown with modifications suitables for Zeste de Savoir (original : https://github.com/waylan/Python-Markdown )

License: Other

Python 30.39% Shell 0.10% Makefile 0.11% HTML 69.40%

python-zmarkdown's Introduction

Python-ZMarkdown

Tests Coverage Status Code Health

About

This is a small fork of Python-Markdown including somes improvements suitables for zds.

Modification

Main modifications :

  • A master-zds branch with all modification
  • Add range support in codehilite's hl_lines option
  • Add linenostart option in codehilite to defining the starting number.
  • TODO

python-zmarkdown's People

Contributors

abadger avatar ajdavis avatar arnaudcalmettes avatar artynusov avatar benjaoming avatar cataliniacob avatar cgabard avatar craigds avatar crodjer avatar davidchambers avatar dgottlieb avatar dralliw avatar eichin avatar facelessuser avatar fin avatar gerardpaligot avatar grahack avatar lahwaacz avatar lama7 avatar martinaltmayer avatar mdirolf avatar me-and avatar mitya57 avatar nikolas avatar ryneeverett avatar scorpil avatar slig avatar svetlyak40wt avatar waylan avatar yuri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-zmarkdown's Issues

Insertion de tweet

L'idée serait de pouvoir insérer des tweets via leur lien tweeter. Il faudrait aller faire une requête sur l'API Twitter pour récupérer le tweet en question et l'afficher sous forme d'une citation, mais avec un design particulier.

Voir la conversation sur l'autre dépôt pour plus d'informations : zestedesavoir/zds-site#535

Une structure HTML comme celle-ci me semble fort sympathique :

<figure class="tweet">
    <figcaption><a href="https://twitter.com/AlexandreDemode">Alex-D</a> à <a href="https://twitter.com/AlexandreDemode/<ID_TWEET>">HH:mm:ss</a></figcaption>
    <blockquote>
        Le message du tweet qu'il est beau ici
    </blockquote>
</figure>

Citation qui se doublonne

Via Eskimon

Si je fais une joli citation comme ca :

> blablabla je fais une citations

> Et cette ligne fera un doublon
Source: Le doubleur

Le dernier paragraphe se repetera. Alors que si je met les chevrons intermédiaire OU surprime la source tout passera bien...

Voici une démo du problème (a constater sur le forum):

blablabla je fais une citations

Et cette ligne fera un doublon
Source: Le doubleur

Gras non pris en compte

Exemple avec le paragraphe ci-dessous :

Si vous souhaitez écrire deux symboles $ dans une même ligne, alors il vous faut en **échapper** au 
moins l'un des deux (c'est-à-dire les faire précéder d'un antislash : \$) afin que le texte ne soit pas 
considéré comme une formule mathématique.

Le mot "échapper" n'est pas en gras. Quand j'enlève les $ ça fonctionne.

Bug de rendu des boutons dans une liste

C'est déjà connu, mais c'est souvent remonté, donc j'ouvre tout de même une issue ici, puis ça permettra d'avoir un suivi.

Via @mlorant sur le repo zestedesavoir/zds-site :

Lorsque j'écris des boutons type <kbd> dans une liste, le rendu simule un tableau illisible :

Extrait :

- ||Ctrl-B|| pour mettre en gras (fait apparaitre `** **`)`
- ||Ctrl-I|| pour mettre en italique (fait apparaitre `* *`)
- ||Ctrl-L|| pour ouvrir le pop-in d'ajout de liens
- ||Ctrl-K|| pour indenter un bloc (très utile en cas de sélection)
- D'autres exemples peuvent être visible sur [cette page de S.O](http://stackoverflow.com/questions/ask), mais les plus utiles sont là.

Résultat :

Tutoriel ne s'ouvre pas

Configuration :

  • OS : Mac OS X 10.9.4
  • Python : 2.7.5 ou 3.1
  • Java : 1.7.0_65

Lorsque j'essaie d'ouvrir mon tutoriel (actuellement en cours de rédaction), rien ne se passe. Cependant, lorsque je tente d'ouvrir un tutoriel en ligne (J'ai essayé avec celui-ci), tout fonctionne correctement.

Smartlegend fait des siennes

L'article redidez sur zds donne une erreur 500.

J'ai réussi a trouver la backtrace, et et le problème vient de l'extension smartlegend qui semble détecter la chaine "source", mais ne sait pas quoi faire avec None.

Bref, j'ai l'envoie par mail a @cgabard

Ajout d'une classe sur les minicodes

Pour pouvoir corriger certains bugs d'affichage, il faudrait rajouter une classe sur la base <code> utilisée pour du "minicode" (code-inline par exemple).

Le soucis d'affichage est visible dans les citation car on a

figure > blockquote > code

Or pour une balise code légendée on a

figure > code

Du coup, c'est plus délicat à gérer s'il n'y a pas la classe qui va bien (la balise code étant dans les deux cas dans une balise figure)

[CI] Implement Travis

Implémenter travis pour faire des tests lors des push pour une intégration continue ?

Ajouter les tirets cadratins et demi-cadratins

C'est un truc de LaTeX à la base, que j'ai vu dans plusieurs implémentations de Markdown mais pas celui-ci :

  • Deux signes moins -- donnent un tiret demi-cadratin
  • Trois signes moins --- donnent un tiret cadratin

Bien entendu il n'y a aucune urgence ni impératif ici, c'est juste une idée d'amélioration si jamais quelqu'un s'ennuie un jour :)

Liens vers les fiches de Wikimedia non reconnus

Bug reporté depuis zds-dev zds-dev#1351

Message de @Florianboux :

Je l'ai signalé sur le forum pour que la visibilité soit maximal, mais je viens aussi le signaler ici.

Les liens vers les fiches détaillées du Commons de Wikimedia, ne fonctionnent pas.

Par-exemple ce genre d'URL ne passe pas : http://commons.wikimedia.org/wiki/File:Swallow_flying_drinking.jpg

À mon avis, zMD aimerait l'afficher en image, mais ne comprend pas que c'est un lien et non une image du fait que Wikimedia mettent l'extension de cette dernière à l'URL.


Mon avis sur la question est que le : fais suer.

Références croisées dans les tutoriels

Via Luthaf sur le forum :

Il serait intéressant d'avoir un système de références croisées à l'intérieur d'un tutoriel : on met un label quelque part, et on peut insérer dans un autre extrait un lien vers ce label.

Je n'ai pas trop d'avis sur la syntaxe, quelque chose comme !<nom_du_label>, que l'on utilise sous la forme ma référence par exemple. Pour l'implémentation, cela exige d'avoir quelque part une table avec toutes les références, qui est mise à jour d'une manière ou d'une autre.

Des ancres devrait faire l'affaire pour la sortie HTML, et la traduction en LaTeX est immédiate.

Je reporte ici pour pas qu'on oublie.

Comportement bizarre des formules bloc maths

Quand on met une formule entre $ (type $a + b = c$), ca passe et ca rend bien.

Mais si on a plusieurs lignes, type

$\begin{array} {lcl}
    \text{borne droite} - \text{borne gauche} & = & 4 - 3 \\\ 
                                              & = & 1     \\\ 
                                              & = & 0 + 1 \\\ 
                                              & = & \boxed{0} \times 2  + 1
\end{array}$

Autant la balise maths est bien reconnue, mais on se retrouve avec des $ avant et après la formule.

Au passage, il semblerait que la syntaxe de pdp \\( formule, block ou inline \\) passe crème elle. Quand j'en ai parlé à @firm1, il a dit que ça avait l'air chelou que cette syntaxe soit acceptée...

Lié à zestedesavoir/zds-site#719

les footnotes entrent en conflit si la meme page a plusieurs appels au parseur (unicité des footnotes)

Une issue sur zds-site a donné lieu a une proposition de hack pas propre.

Par défaut, l'extension footnotes propose un paramètre UNIQUE_IDS pour activer un id unique (sous la forme d'un compteur, incrémenté a chaque appel au parseur). Pour l'utiliser il faudrait alors garder la meme instance du parseur (impossible : maj du code, crash du serveur, ...) ou pouvoir réinitialiser cet id a la valeur que l'on veut.
La question est donc : peut on passer des options via l'extension zds, qui la transmettrais a footnotes. (du code à ajouter quelque part par là à premiere vue). Si non, il faudrait activer l'extension footnote a pars, comme ca :

zds/utils/templatetags/emarkdown.py
@@ -12,10 +12,17 @@

 # Markdowns customs extensions :
-def get_markdown_instance(Inline=False):
+def get_markdown_instance(Inline=False, unique_id=''):
     zdsext = ZdsExtension({"inline": Inline, "emoticons": smileys})
+
+    extension_configs = {'footnotes':
+                       [
+                          ('UNIQUE_IDS', str(unique_id))
+                       ]
+                    }
     # Generate parser
-    md = markdown.Markdown(extensions=(zdsext,),
+    md = markdown.Markdown(extensions=(zdsext, 'footnotes'),
+                           extension_configs=extension_configs,
                            safe_mode = 'escape',
                            # Protect use of html by escape it
                            enable_attributes = False,

D'éventuelles autres idées, des questions, des suggestions ?

Échaper les pseudos

Via __forever sur le forum :

Comme vous le voyez sûrement, mon pseudo est __forever, le problème est que __ signifie gras en Markdown, ce qui fait que j'ai reçu un message comme sa:

Capture d'écran d'un message de Clem

On peut voir que mon pseudo est intégré au message, pour que ensuite le message soit compilé en html. Il manque donc simplement des \ devants les caractères spéciaux.

Légende necessitant des lignes vides

Actuellement il faut laisser une ligne vide entre un block et a légende ce qui est une regression en conséquence de la modification du comportement de sauts de lignes

Problème de smileys et fin de ligne

Le cas d'usage :

Tant mieux :)  
Je suis content que cela te plaise.

Si on mets un smiley en fin de ligne suivi de 2 espaces, le smileys ne s'affiche pas.

Plus d'informations ici

Problème d'alignement avec le markdown

Bonjour,

Il y a un problème d'alignement, lorsque deux centrages sont séparés par un alignement à droite.

-> center <-

-> right ->

left

-> center <-

On obtient ceci :

center

right ->

left

-> center

Le parseur markdown ne reconnaît pas les URLs contenant des `:`

J'ai essayé de poster l'adresse suivante sur un topic du ZdS. Mon message bien été renvoyé mais l'URL a été remplacée par http:///, rendant le lien invalide. Le problème vient des deux points au milieu de l'URL (pourtant valides), car utiliser manuellement leur encodage %3A à la place fait ré-apparaître l'URL.

Il est problématique que zds-markdown ne gère pas cette URL, mais encore plus gênant que je n'ai pas été prévenu de cette perte d'information au moment de la prévisualisation ou envoi du message (sinon j'aurais pu contourner au moment de l'écriture, au lieu d'apprendre quelques jours après que tous les liens sont en fait morts).

Liens mal parsé

Certains liens sont mal parse. Normalement, si les balises markdown ne sont pas utilise de maniere explicite, un lien est tout de meme reconnu et interprete comme tel. Cependant, cela ne semble pas fonctionner si le lien possede des parametres et/(ou ?) eventuellement une ancre)

Exemple (qui marche bien sur GH):
NOK : http://zestedesavoir.com/forums/sujet/429/fin-de-la-beta-privee/?page=1#p4205
NOK : http://zestedesavoir.com/forums/sujet/429/fin-de-la-beta-privee/?page=1
OK : http://zestedesavoir.com/forums/sujet/429/fin-de-la-beta-privee/

Ajout de sorties

  • markdown pandoc, variante "latex"
  • markdown pandoc, variante "epub"

Doit permettre de générer les sorties propres

Source mal parsee

Si j'ecris un smiley apres une citation sans source, ce dernier passe en source...

Par exemple:

> du texte que je cite

:D Ceci n'est pas une source !

Me donnera:

screenshot from 2014-10-28 08 38 58

[OK en fait] Item des listes pris en compte uniquement si on saute des lignes

Lorsque l'on écrit une liste en Markdown en se contentant d'aller juste à la lgne pour séparer les items, ceux-ci ne sont pas pris en compte, on est obligé de sauter une ligne entre chaque item.

Ceci ne fonctionne pas :

blabla bla :
- item1
- item 2
- item 3

Il faut écrire:

blabla bla :
- item1

- item 2

- item 3

Erreur en prévisualisant un message dans ZdS

Je suis bête et méchant, alors je fais ce que le site me dit, à savoir :

Une erreur est survenue dans la génération de texte Markdown. Veuillez rapporter le bug.

Le texte qui provoque cette erreur :

> Personne ne s'accordait vraiment sur la nature de la fin du monde. Guerre nucléaire, jugement dernier, météorite insoupçonnée, les théories allaient foison, mais finalement, tout s'est passé en... douceur. C'est ce qui s'est passé après qui a été mouvementé.
> [source]: Test

Not translated back link title

J'imagine que ça vient de ZMarkdown, donc je poste l'issue ici.

Il serait cool de traduire le titre du lien qui indique qu'on va remonter là où on était en cliquant sur le lien, comme on peut le voir tout en bas de ce sujet : http://preprod.zestedesavoir.com/forums/sujet/4/rediger-sur-zestedesavoir

Sans pour autant l'alourdir. ↩

Je parle du lien sur la petite flèche, qui est actuellement : Jump back to footnote 1 in the text
Il serait mieux d'avoir un titre en français.

Merci docteur !

Légendes d'equations

Les equations ne peuvent pas etre légendées, toujours lié au changement de comportement lié aux saut de lignes. Solution simple : s'inspirer de ce qui est fait pour les figure/images dans l'ext smartLegend même si c'est tout moche.

Problème avec les tableaux.

zestedesavoir/zds-site#1251

J'explique l'issue sur le site Zeste de Savoir ici : http://zestedesavoir.com/forums/sujet/748/tableaux-la-fusion-de-cellules-verticale-en-fin-de-ligne/

Lorsque le rowspan se trouve à la dernière colonne, cela n'est pas parsé.
Lorsqu'il se trouve au milieu : une case est 'oubliée'

En fait je crois qu'il 'saute' la cellule de la ligne la plus à gauche dans tous les cas de figure.

Je me doute que vous le savez, mais le fichier est là : https://github.com/zestedesavoir/Python-ZMarkdown/blob/master-zds/markdown/extensions/grid_tables.py

(J'ai du mal à lire le python, faudrait que j'apprenne ^^ )

Liens incestueux : des liens implicites dans des liens explicites

Bug rapporté par @germinolegrand sur zds-site : zestedesavoir/zds-site#1543


Actuellement (version en ligne je précise), un bug de markdown pose problème lorsqu'un lien explicite contient un lien implicite :
[sur isocpp.org](https://isocpp.org/std/status) est interprété comme :

<p><a href="https://isocpp.org/std/status">sur </a><a href="http://isocpp.org">isocpp.org</a></p>

Github n'a apparemment pas ce problème : sur isocpp.org

Avoir un paramètre permettant la génération d'ancres sur les titres.

L'idée serait d'avoir des id sur les titres, seulement si le paramètre le demande.

Pourquoi un paramètre ?

Si on le fait tout le temps, sur les forums par exemple on peut se retrouver avec plusieurs fois le même titre et donc le même id et donc c'est invalide.

Aussi, il faut désactiver cette fonctionnalité à l'intérieur des citations.

Mauvaise url dans un lien si le titre du lien est une (autre) url

via forum

Quand on poste un lien, avec dans le titre du lien quelque chose qui ressemble à une url, ça utilise le titre du lien comme href, plutôt que le lien donné... Exemple: [google.com](http://google.com/maps/) va donner un lien vers http://google.com, alors que ça devrait donner un lien vers http://google.com/maps/

Je suppose que c'est un bug à transmettre à l'upstream ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.