May 2, 2014

Υψηλής ποιότητας έγγραφα (documents) από απλά αρχεία κειμένου (text files)

Στους υπολογιστές μας συντηρούμε χιλιάδες αρχεία με πιο δημοφιλή σε εμάς τους προγραμματιστές τα αρχεία κειμένου. Αυτά διαβάζονται και μεταβάλλονται εύκολα από οποιονδήποτε συντάκτη κειμένου (editor) ενώ μεγάλο πλεονέκτημα είναι η εύκολη αναζήτηση στα περιεχόμενα τους (ειδικά στο Linux με το πλούσιο ρεπερτόριο χρήσιμων εντολών) Πέρα όμως από τις προγραμματιστικές ανάγκες, πολύ συχνά σε αρχεία κειμένου διατηρώ τις σημειώσεις μιας συνάντησης ή ακόμα και τον απολογισμό μιας ημέρας, κτλ. Μια φανταστική σειρά εργαλείων της Python είναι τα docutils που προσφέρουν δυνατότητες ώστε χρησιμοποιώντας απλούς χαρακτήρες σε ένα απλό αρχείο κειμένου, να το μετασχηματίσουν σε υψηλής ποιότητας έγγραφο σε μορφή HTML, PDF, OpenOffice document ή άλλα formats. Η μορφή αυτού του markup ονομάζεται reStructuredText (rst) και θυμίζει αρκετά τον τρόπο εργασίας με το LaTeX μόνο που τα σύμβολα του είναι απλούστερα και "λερώνουν" λιγότερο την μορφή του κειμένου μας. Για παράδειγμα, για τονισμένη γραφή, περικλείουμε το κείμενο μας σε διπλούς αστερίσκους ('**'), δηλαδή:

**κείμενο**

για να δηλώσουμε μια επικεφαλίδα, στην επόμενη γραμμή αντιγράφουμε στο μήκος της τον χαρακτήρα '=', '~' ή '-' ανάλογα με το επίπεδο της. Για παράδειγμα:

Επικεφαλίδα 1
=========

Με ανάλογες δηλώσεις μπορούμε να ορίσουμε πίνακες περιεχομένων, λίστες, πίνακες, κλπ. Έτσι κατασκευάζουμε το αρχείο μας με μια τυπική επέκταση (πχ .txt) και έπειτα από την γραμμή εντολών, μπορούμε να εκτελέσουμε τον κατάλληλο μετατροπέα ώστε να το μετασχηματίσει σε διάφορες μορφές (πχ html, pdf, LaTeX, odt, man page) Για παράδειγμα:

rst2html.py myfile.txt > out.html

Αυτός ο τρόπος μου φάνηκε πολύ χρήσιμος ώστε να κατασκευάσω μια τεχνική τεκμηρίωση, αξιοποιώντας τις καθημερινές μου σημειώσεις. Ένα γρήγορος οδηγός για το rst βρίσκεται εδώ.

No comments: