1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-10-30 22:56:17 +00:00
Commit Graph

24 Commits

Author SHA1 Message Date
jeremy@jermolene.com
9f9ce6595b Make it easier to subclass the wikitext parser with a custom rule set
We can now pass arrays of rule classes to the parser constructor, overriding the rules that would normally be used by the parser.

This allows us to create custom variants of the wikitext parser with their own content type.

It could also provide a basis for a new Markdown parser based on our existing wikitext parser but with new rules.
2021-02-03 15:13:56 +00:00
jeremy@jermolene.com
d181b96518 Wikitext parser: Refactor a poorly written utility function 2020-11-18 12:05:06 +00:00
Jermolene
d966583854 Add new "\whitespace" pragma
This will allow us to simplify some of the more unreadable core
wikitext tiddlers…
2017-07-12 16:46:13 +01:00
Jermolene
df3e39d97a Update wikiparser file comment 2016-02-15 11:33:47 +00:00
Jermolene
ecdae4ceff Make lazy loading message be translateable 2015-09-08 10:41:27 +01:00
Jermolene
a204784c0c Limited implementation of external text tiddlers in the browser
Triggered by the discussion in #1917
2015-08-29 16:33:04 +01:00
Jermolene
58188cf805 Improvements to parser rule configuration
* Ignore parser rule configuration in safe mode
* Made text translatable
* Added new setting for camelcase links
* Added warning on parser rule configuration tab

See #1875
2015-07-31 13:33:33 +01:00
Jermolene
d5e690a06d First pass at global disabling of parser rules
This is to address #1875 more quickly than via #345.

This commit only includes a partial implementation of the UI - see the
ticket for details.
2015-07-30 12:28:29 +01:00
Jermolene
b0cb17cd83 Re-establish caching of results of parsing a tiddler
I switched this optimisation off back in
ed35d91be6, in October 2013, as part of a
big refactoring of the parsing and widget mechanism. I’ve been meaning
to switch it back on for some time.

My rough measurements suggest that this optimisation can reduce
rendering time by 5-10%.
2015-07-05 17:48:18 +01:00
Jermolene
3a67fdb768 Obeisance to JSHint for core modules
There are still some warnings about making functions in a loop, but
I’ll fix those as a separate pull request because the fixes are more
than typographic errors.
2014-08-30 20:44:26 +01:00
Jeremy Ruston
3b563e19cf Removed obsolete comments 2013-08-23 18:38:44 +01:00
Jeremy Ruston
d28ee0b82a Change module type for parsers to "parser" 2013-01-16 13:56:11 +00:00
Jeremy Ruston
f496cd540e Store macros in the render context so that they scope in the expected way 2012-12-29 23:17:09 +00:00
Jeremy Ruston
d6e531e87c Extend new parser mechanism to determine parser based on content type
And add an image parser and a plain text parser
2012-12-27 17:08:29 +00:00
Jeremy Ruston
c703fb1267 Get rid of the wikivocabulary object 2012-12-26 22:02:59 +00:00
Jeremy Ruston
03e46ad8f5 Add "rules" pragma for specifiying parser rules to be used for a tiddler 2012-12-26 19:35:54 +00:00
Jeremy Ruston
0cb76f6fc0 Mark each rule with its type as it is instantiated 2012-12-20 16:49:04 +00:00
Jeremy Ruston
055bdd8d8f Added inline transclusion as well as block transclusion 2012-12-20 15:07:38 +00:00
Jeremy Ruston
360e188e49 Continuing renaming run rules to inline rules 2012-12-20 12:18:38 +00:00
Jeremy Ruston
0c3c2eeec6 Improve implementation of classed runs 2012-12-15 17:35:16 +00:00
Jeremy Ruston
228ee92e95 Enhanced wiki text parser to selectively eat terminator regexp matches 2012-12-15 11:38:28 +00:00
Jeremy Ruston
2bef7c2c5c Further improvements to parser rule implementation 2012-12-14 15:44:19 +00:00
Jeremy Ruston
31b283ef36 Refactoring implementation of wiki parse rules
And some documentation.
2012-12-14 13:31:47 +00:00
Jeremy Ruston
d338a54370 Introduce refactored wiki parser and renderer
This is a half-way through a big refactoring of the parsing and
rendering infrastructure. The main change is to separate the parse and
render trees, which makes the code a lot cleaner. The new parser isn't
yet functional enough to replace the existing parser so for the moment
you have to manually invoke it with `$tw.testNewParser()` in your
browser console. I really ought to use branches for this kind of
thing...
2012-12-13 21:34:31 +00:00