EMT (Evgeny Muravjev Typograph) for Python 3
This commit is contained in:
commit
516d3b3174
14
README.md
Normal file
14
README.md
Normal file
@ -0,0 +1,14 @@
|
||||
# mdash Typograph for Python 3.5 (and above)
|
||||
|
||||
It is EMT (Evgeny Muravjev Typograph) prepared for Python 3.5 (and above). Original EMT is written in PHP and can be found here: [github.com/emuravjev/mdash](https://github.com/emuravjev/mdash) and
|
||||
[mdash.ru](http://mdash.ru).
|
||||
|
||||
----
|
||||
### Note
|
||||
|
||||
Be aware that when combined with wysiwyg-editor (like ckeditor), EMT can create HTML-code artifacts and even cause typographer to crash. Be careful and get ready to add pre- and post-processing crutches.
|
||||
|
||||
### TODO
|
||||
|
||||
* Protect text in `<pre>`, `<code>`, `<kbd>`, `<script>` and `<style>` tags.
|
||||
* Long word wrap (Hyphenation `­`).
|
32
run.py
Normal file
32
run.py
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env python2.7
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import re
|
||||
import base64
|
||||
import types
|
||||
# from EMT import EMTypograph
|
||||
import EMT
|
||||
import json
|
||||
|
||||
|
||||
def main():
|
||||
emt = EMT.EMTypograph()
|
||||
txt = '"Эдиториум.ру" - сайт, созданный по материалам сборника "О редактировании и редакторах" Аркадия Эммануиловича Мильчина, который с 1944 года коллекционировал выдержки из статей, рассказов, фельетонов, пародий, писем и книг, где так или иначе затрагивается тема редакторской работы. Эта коллекция легла в основу обширной антологии, представляющей историю и природу редактирования в первоисточниках. \n\n'\
|
||||
'Кажется, вам просто нужно добавить отступ к байтам перед декодированием. На этот вопрос есть много других ответов, но я хочу указать, что (по крайней мере, в Python 3.x) base64.b64decodeлюбые дополнительные отступы будут обрезаны, если их достаточно.\n\n\n\n\n' \
|
||||
'Итак, что-то вроде: <kbd>b\'abc=\' </kbd> работает так же хорошо, как b\'abc==\'(как b\'abc=====\').\n\n' \
|
||||
'Это означает 100000 руб., что вы можете просто добавить максимальное количество символов заполнения, ' \
|
||||
'которое вам когда-либо понадобится, а это три ( b\'===\'), и base64 обрежет все ненужные.\n\n' \
|
||||
'Это позволяет вам писать:\n' \
|
||||
'<code>base64.b64decode(s + b\'===\')\n' \
|
||||
'base64.b64decode(s + b\'=\' * (-len(s) % 4))\'\n</code>\n'
|
||||
emt.set_text(txt)
|
||||
# emt.set_tag_layout(layout=EMT.LAYOUT_CLASS)
|
||||
# rules = {'Text.paragraphs': 'on'}
|
||||
result = emt.apply()
|
||||
print(result)
|
||||
print(emt.get_all_safe_blocks())
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue
Block a user