markdown2Mathjax είναι ένα απλό πακέτο που σας επιτρέπει να χρησιμοποιήσετε μαθηματικά στυλ λατέξ που παράγεται από MathJax σε συνδυασμό με το δημοφιλές σχήμα markdown & nbsp?. Υπάρχουν δύο υλοποιήσεις του markdown σε Python, αυτό το πακέτο έχει σχεδιαστεί για να χρησιμοποιείται με τον πιο ευρέως χρησιμοποιούμενο και συντηρείται ενεργά από τα δύο, που ονομάζεται markdown2. Τυπική χρήση είναι ως εξής:
#! / Usr / bin / env python
από markdown2Mathjax sanitizeInput εισαγωγής, reconstructMath
από markdown2 markdown εισαγωγής
tmp = sanitizeInput (sometxt)
markdedDownText = markdown (tmp [0])
finalOutput = reconstructMath (markedDownText, tmp [1])
(Όπου "sometxt" είναι ένα string που περιέχει το markdown + mathjax κείμενο.)
installation
markdown2Mathjax φιλοξενείται σε pypi, έτσι ώστε να μπορεί να εγκατασταθεί είτε από την πηγή, με τη χρήση:
πίσσα zxvf markdown2Mathjax-x.x.x.tar.gz
CD markdown2Mathjax-x.x.x
python setup.py εγκαταστήσετε
ή χρησιμοποιώντας pip (ή easy_install αν προτιμάτε):
Pip εγκαταστήσετε markdown2Mathjax
Χρήση
Από προεπιλογή, τα μαθηματικά χαρακτηρίζεται από μόνο $ πινακίδες για inline μαθηματικά και διπλά σημάδια $$ εξισώσεων. Ωστόσο, οποιεσδήποτε χορδές οριοθέτησης μπορούν να χρησιμοποιηθούν από την αλλαγή των λέξεων-κλειδιών επιχειρήματα για τις λειτουργίες sanitizeInput και reconstructMath. Σημειώστε ότι από προεπιλογή mathjax δεν χρησιμοποιεί μόνο δολάρια σημάδια για να οριοθετήσει inline μαθηματικά, έτσι αν χρησιμοποιείτε τις προεπιλογές για αυτό το πακέτο, θα πρέπει να αναθέσει mathjax να την αντιμετωπίσουμε κατάλληλα.
Επεξήγηση
Η λειτουργία sanitizeInput βρίσκει κάθε φορά που κάποια μαθηματικά (όπως καθορίζεται από τα παρεχόμενα διαχωριστικά) και τις αντικαθιστά με ένα χαρακτήρα κράτησης θέσης. Αυτό το σύμβολο κράτησης θέσης μπορεί να καθορίζονται από το χρήστη, αλλά συνιστάται να χρησιμοποιήσετε το παρεχόμενο προεπιλογή του "$ $ 0". Το σύμβολο κράτησης θέσης πρέπει να είναι κάτι που δεν θα υποβληθούν σε επεξεργασία με markdown, και δεν θα μπορέσει ποτέ να παράγεται από markdown. Η πρώτη από αυτές τις απαιτήσεις είναι αρκετά εύκολο να επιτευχθεί, ο δεύτερος μπορεί να είναι κάπως πιο λεπτές. Αν η θέση αποθήκευσης υπάρχει ήδη στο παρεχόμενο κείμενο χρήστη, σημειώνεται από sanitizeInput και θα μείνει μόνη της όταν την ανοικοδόμηση μαθηματικά μετά την επεξεργασία markdown.
Κάθε φορά που ένα έγκυρο μπλοκ μαθηματικά συναντούν και να αντικατασταθεί από ένα σύμβολο κράτησης θέσης, τα μαθηματικά είναι αποθηκευμένο σε μια λίστα (που ονομάζεται codeblocks), το οποίο στη συνέχεια επιστρέφεται από τη συνάρτηση sanitizeInput. Κάθε καταχώρηση στο codeblocks προτάσσεται είτε με 0 (για μια κυριολεκτική περιστατικό της κράτησης θέσης στο κείμενο), ένα 1 για inline μαθηματικά ή 2 για ένα ξεχωριστό εξίσωση.
Η απολυμαίνονται κορδόνι από sanitizeInput μπορεί στη συνέχεια να σημαίνονται με markdown χωρίς φόβο μαθηματικά σας είναι παραμορφωμένα. Τέλος, reconstructMath αντικαθιστά κάθε ένα από τα σύμβολα κράτησης θέσης στο κείμενο μαρκάρονται με το κατάλληλο codeblock. Αυτή η τελική HTML μπορεί στη συνέχεια να εμφανίζονται με την κατάλληλη mathjax javascript κεφαλίδες.
Ένας άλλος τρόπος για να το σκεφτούμε αυτό είναι από reconstructMath είναι ουσιαστικά το αντίστροφο του sanitizeInput. Έτσι, χωρίς τη χρήση markdown στο μεταξύ, τίποτα δεν πρέπει να αλλάξει μεταξύ των δύο (εκτός όταν reconstructMath κάνει επίσης κάποια επιπλέον καθαρισμό των codeblocks μαθηματικά). Αυτό είναι:
tmp = sanitizeInput (δοκιμή)
reconstructMath (tmp [0], tmp [1]) == δοκιμή
πρέπει πάντα να αξιολογηθεί ως αληθές
Απαιτήσεις :.
- Python
Τα σχόλια δεν βρέθηκε