python-textile
python-textile copied to clipboard
Alignment in restricted mode works not correctly.
In tests for checking aligment you use symbols '<' and '>'
result = t.image('!</imgs/myphoto.jpg!')
But in fact, these symbols was parsed in html special chars. Their looks like '<' and '>' . And therefore working only
Simple way in pattern of reg exp function
\\! # opening !
(\<|\=|\>)? # optional alignment atts
...
replace by
...
\\! # opening !
(\<|\=|\>)? # optional alignment atts
...
and further
alignments = {'<': 'left', '=': 'center', '>': 'right'}
replace by
alignments = {'\<': 'left', '=': 'center', '\>': 'right'}
EDIT 2017-08-29 17:04 by @sebix: markup
I'm not sure I'm understanding this issue. Everything seems to be working exactly as designed, and replacing the angle brackets with their html-encoded counterparts does not result in correct output. Can you describe the problem in another manner? Is there some textile markup you're using which exposes this issue?
I apologize for the bad description of the problem - was the end of the day. If we turn to the examples and description of the documentation Textile, and then using your module, try to align any tag left-aligned, right-aligned, or justified. The module starts to work not correctly. The following examples are tested on version 2.3.16 of your module with restricted=True
input:
p<. Left aligned paragraph.
p>. Right aligned paragraph.
p=. Centered paragraph.
p<>. This is a very long, almost never ending, sentence with the sole purpose to demonstrate how a justified paragraph would look like if the sentence wraps around several lines.
output:
p<. Left aligned paragraph.
p>. Right aligned paragraph.
Centered paragraph.(worked only align:center)
p<>. This is a very long, almost never ending, sentence with the sole purpose to demonstrate how a justified paragraph would look like if the sentence wraps around several lines.
The problem I explained in a previous post. How valid this result? When restricted=False everything works perfectly. Digging in the code: first you translate all characters to have html in their html codes. But when perform the test of paragraph regular expression, you do it via the symbols >, <, =. While they are actually <, >, =. Hope I outlined the problem more clearly. I Express my gratitude for the module.
Okay, now that you mentioned it's only in restricted mode, that changes things a little bit. And unfortunately, it looks like this is an upstream issue with php-textile. When I tried to run those txstyle examples through php-textile in restricted mode, it raises fatal errors. I'll bring this up as an issue with them, we'll discuss what the proper output should be and work from there.