Ben Kurtovic
432198547a
Fix some external links; refactor into different methods.
vor 10 Jahren
Ben Kurtovic
da272ae10a
Start implementation of external links in Python.
vor 10 Jahren
Ben Kurtovic
d42e05a554
Implement improved wikilink handling.
vor 10 Jahren
Ben Kurtovic
5e6e5b6301
tag_defs.py -> definitions.py; more outline stuff
vor 10 Jahren
Ben Kurtovic
cbf67c7842
Add hooks for some ext link stuff; add a INVALID_LINK aggregate context.
vor 10 Jahren
Ben Kurtovic
be5d2cbb07
Support HTML entities inside parser-blacklisted tags ( closes #36 )
vor 10 Jahren
Ben Kurtovic
d6e03ea5c5
Consolidate some code in _parse_comment()
vor 10 Jahren
Ben Kurtovic
bdb2a88612
Move some context definiions to contexts.py
vor 10 Jahren
Ben Kurtovic
38143e1adc
More refactoring (combine _emit_tag_open() and _emit_tag_close())
vor 10 Jahren
Ben Kurtovic
120f53deec
Refactor out _really_parse_style()
vor 10 Jahren
Ben Kurtovic
4c0e4402b4
Only do a second pass if one would produce a different result.
vor 10 Jahren
Ben Kurtovic
dd4591c270
Much refactoring and cleanup.
vor 10 Jahren
Ben Kurtovic
992e7018ae
Working bold/italics implementation (ugly, will clean up)
vor 10 Jahren
Ben Kurtovic
2a82a57b2d
Add support for bold and italic text (part one).
vor 10 Jahren
Ben Kurtovic
dd2a6f913b
Add support for dt, dd. Refactor. Fix some broken tests.
vor 10 Jahren
Ben Kurtovic
3288b80c15
Fix.
vor 10 Jahren
Ben Kurtovic
7bce2f4e96
Parse *, #; add another test.
vor 10 Jahren
Ben Kurtovic
c910951273
Implement horizontal rules (----)
vor 10 Jahren
Ben Kurtovic
4663563ce4
Remove unnecessary markers.
vor 11 Jahren
Ben Kurtovic
e83f321340
Rearrange functions; remove useless prototypes.
vor 11 Jahren
Ben Kurtovic
5018d9d323
Make showtag=True implicit.
vor 11 Jahren
Ben Kurtovic
929fa25e1f
Correctly tokenize single-only HTML tags, part two.
vor 11 Jahren
Ben Kurtovic
dcdd07253b
Correctly tokenize single-only HTML tags, part one.
vor 11 Jahren
Ben Kurtovic
b24ddaea10
Tokenizer support for implicitly self-closing tags.
vor 11 Jahren
Ben Kurtovic
50beda0914
Improve/fix the way padding is handled.
vor 11 Jahren
Ben Kurtovic
fb92012fcb
Support parser-blacklisted tags like <nowiki>
vor 11 Jahren
Ben Kurtovic
a42a704230
Support backslash-escaped quotes in tags; CX_NEED_* -> CX_NOTE_*
vor 11 Jahren
Ben Kurtovic
591a0f5ed5
Change 'write' to 'emit'; adjust some other names for PEP8.
vor 11 Jahren
Ben Kurtovic
e99c9d3038
More tag refactoring; fix some bugs.
vor 11 Jahren
Ben Kurtovic
5e8794da5e
Refactor more of the tag tokenization process.
vor 11 Jahren
Ben Kurtovic
dd6bb1637d
Support tag nesting properly; unit tests; recursion checks for tags.
vor 11 Jahren
Ben Kurtovic
9693b6d5e6
Replace data.literal and data.quoted with a data.CX_QUOTED context
vor 11 Jahren
Ben Kurtovic
e34026dabe
Support templates and wikilinks inside <open> tags (part 2)
vor 11 Jahren
Ben Kurtovic
dfe100ceb7
Support templates and wikilinks inside <open> tags (part 1)
vor 11 Jahren
Ben Kurtovic
f63480bcf3
Update the integration.rich_tags test to use the new tag tokens.
Remove an now-unused import in the tokenizer.
vor 11 Jahren
Ben Kurtovic
82edc93bbb
Pass some tests by simplifying the way tags are read from the stack.
Two still fail because templates aren't implemented yet, but those
are otherwise handled correctly.
vor 11 Jahren
Ben Kurtovic
962adcd62c
Add docstrings for a couple new methods in the tokenizer.
vor 11 Jahren
Ben Kurtovic
5f5a081d91
Rewrite tag parser to be cleaner and safer.
All tag tests passing. Still need to finish backslash support and
support for templates and tags within <open> tags.
vor 11 Jahren
Ben Kurtovic
ce27d5d385
Fix six failing tests; add three more (all passing).
vor 11 Jahren
Ben Kurtovic
6450814729
Remove 'type' attribute from tags; rework tag definitions.
vor 11 Jahren
Ben Kurtovic
d2b3954669
Fix remaining broken tests; some refactoring.
vor 11 Jahren
Ben Kurtovic
9ea06c2830
Push the textbuffer to fix a couple broken tests.
vor 11 Jahren
Ben Kurtovic
61fc5b5eab
Fix handling of self-closing tags ( closes #31 )
vor 11 Jahren
Ben Kurtovic
debcb6577e
Fix recursion issues by giving up at a certain point ( closes #16 ).
- Stop parsing new templates if the template depth gets above
MAX_DEPTH (40) or if we've already tried to parse over MAX_CYCLES
(100,000) templates.
- Add two tests to ensure recursion works somewhat correctly.
- Fix parsing the string "{{" with the Python tokenizer; add a test.
vor 11 Jahren
Ben Kurtovic
f803269514
Add a USES_C field to the tokenizers; add TestParser.test_use_c()
vor 11 Jahren
Ben Kurtovic
5a0a00ba98
Change the way verify_safe() handles template params ( #25 ).
- Newlines are now allowed in template param names.
- Changes also affect handling of arguments like {{{foo}}}.
- Update unit tests: remove some unnecessary ones, and add some to cover the changes.
- Update StringMixIn tests to actually work for some of the methods.
- Update copyright notices for the C extensions.
vor 11 Jahren
Ben Kurtovic
0803417901
Port CTokenizer's verify_safe method to Python to solve a failing test.
vor 11 Jahren
Ben Kurtovic
acb7e57904
Make mwparserfromhell.parser() be an alias for parse_anything().
Some other changes, including removal of the 'string' import in the tokenizer.
vor 11 Jahren
Ben Kurtovic
d6f2723a06
Fix safety checks on template params in some odd cases ( closes #24 ).
Also, fix parsing of wikilinks in both tokenizers such that newlines
in any location within the title are an automatic failure.
vor 11 Jahren
Ben Kurtovic
0ee505b5a5
Docstrings for new tokenizer methods.
vor 11 Jahren