Jeremy Ruston
632970cd86
Get external links working again
...
We no longer use the `<$link>` widget for external links. Instead the
parser generates `<a>` elements. This makes things simpler, but does
mean that the `target=_blank` behaviour is baked into the parser.
Probably we should introduce a new `<$extlink>` widget that generates
an `<a>` element with a configurable `target` attribute
2013-10-24 11:54:54 +01:00
Jeremy Ruston
d5f09a4608
Prevented generation of illegal elements
...
Previously, text like <-> would try to generate an element with an
illegal name, causing a JS error
2013-10-23 12:36:34 +01:00
Jeremy Ruston
c96cb6e956
Parse typed blocks with the new parser
2013-10-21 20:20:44 +01:00
Jeremy Ruston
2b5fb9801f
Add skype: protocol for external links
...
The matching of external links is hacky at the moment. The plan is to
make it more easily extensible (ie without writing code)
2013-10-20 10:47:02 +01:00
Jeremy Ruston
be06257430
Split "transclude" widget into a separate "tiddler" and "transclude" widget
...
Belatedly realised that the design would be clearer without these two
separate concepts being conflated into a single widget.
As a result of this change, any other widget or template that generates
transclude widgets has needed adjustment.
2013-08-24 16:45:45 +01:00
Jeremy Ruston
f1a7e433ab
Allow widget names to include digits
2013-07-14 23:13:42 +01:00
Jeremy Ruston
b51fb9cfa9
Linting
2013-07-05 22:37:55 +01:00
Jeremy Ruston
12b471b8fb
Extend the HTML rendering mechanism to support attributes specified as macro invocations
2013-06-18 15:37:19 +01:00
Jeremy Ruston
18f8b7266e
Refactor the HTML element parser
...
The purpose is to allow attributes to be specified as macro
invocations. For example `<div myattr=<<mymacro param1 param3>>>`. The
parser needed sprucing up in order to copy with the nesting of angle
brackets. The refactoring has been done with an eye on using the same
technique in the filter expression parser (which is pretty messy at the
moment -- it throws exceptions for syntax errors, which is bad). Later
I'm hoping to extend the technique to create a more flexible table
parser.
2013-06-15 15:12:05 +01:00
Jeremy Ruston
6ae73e0fc7
Fix regex typos
...
The trouble with regexs being that they breed typos…
Fix #103
2013-06-05 19:06:31 +01:00
Jeremy Ruston
b0d183070c
Don't allow < and > in external links
2013-05-31 17:42:40 +01:00
Jeremy Ruston
551ebdc005
Major refactoring of rendering mechanism
...
We now use a fake DOM implementation on the server to let us share more
rendering code between the text output vs. DOM output paths.
2013-05-17 10:12:25 +01:00
Jeremy Ruston
4bcebf5bbf
Fix HTML element parser to not pass capturing parenthesis in terminating regexp
2013-04-04 14:24:21 +01:00
Jeremy Ruston
d7896f051a
Fixed problem with greediness of filtered transclude regexp
2013-03-02 13:01:44 +00:00
Jeremy Ruston
c85acd71fe
Move the void element list into the main config file
2013-02-03 17:44:28 +00:00
Jeremy Ruston
d3fefa8b16
Fixed regexp for filtered transclusion
...
Previously we couldn't use filter expressions that included curly braces
2013-01-21 17:24:47 +00:00
Jeremy Ruston
baff901685
Added ability to transclude fields of data tiddlers
...
This allows us to transclude colours into CSS
2013-01-15 17:50:47 +00:00
Jeremy Ruston
6d24cedbcc
Refactored widget renderers to be hosted within HTML element renderers
...
This arrangement takes better advantage of the similarities between the
now deleted widget renderer and the element renderer. It also obviates
the need for wrapper elements around every widget.
2013-01-03 16:27:55 +00:00
Jeremy Ruston
61eb585640
Fixed problem with HTML inline parse rule
...
We were incorrectly eating line breaks after self-closing inline HTML
tags
2012-12-31 18:36:13 +00:00
Jeremy Ruston
7d5c355d9e
Make the html parser rule work in block mode as well as inline mode
2012-12-30 17:21:38 +00:00
Jeremy Ruston
300b6cc485
Change widget syntax to $
instead of underscore
...
eg `<$list>`
2012-12-30 13:55:19 +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
ea13652a64
Fixed subtle little typo
2012-12-29 23:16:34 +00:00
Jeremy Ruston
b9a7f0ed39
Added typed blocks
2012-12-29 22:29:24 +00:00
Jeremy Ruston
27ccb581be
Don't trim macro definition bodies
2012-12-29 22:27:51 +00:00
Jeremy Ruston
b006cf163f
Remove the old parser code
...
Thus introducing a few functional regressions, but it's going to be
easier to fix things up without the old code knocking around and
getting in the way.
2012-12-28 22:08:32 +00:00
Jeremy Ruston
8684c375b8
Rename horizontal rule parser rule for less "rule"-based confusion
2012-12-26 19:49:01 +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
2635b62a73
Fix bug in styleblock regexp
2012-12-26 19:33:22 +00:00
Jeremy Ruston
0e418f6e8d
Fix the macro definition regexp
2012-12-26 19:33:11 +00:00
Jeremy Ruston
c1ec1578ec
Make sure the parser rules have unique names
2012-12-26 19:32:54 +00:00
Jeremy Ruston
4cf1c9ed1e
Fix problem with the regexp for the "dash" parser
2012-12-26 19:32:06 +00:00
Jeremy Ruston
11d001ad80
Added inline variant of filtered transclusion syntax
2012-12-23 10:47:14 +00:00
Jeremy Ruston
c3a2a24b76
Introduce filtered transclusion syntax
2012-12-23 10:37:18 +00:00
Jeremy Ruston
05ccb85759
Add template syntax for transclusion
2012-12-23 10:36:55 +00:00
Jeremy Ruston
c31c12d698
Fix bug with extraneous dot in classed blocks
2012-12-23 10:36:25 +00:00
Jeremy Ruston
6fae946bda
Replace classed blocks and runs with styled blocks and runs
2012-12-22 23:10:06 +00:00
Jeremy Ruston
982b6a8773
Switch code block syntax
2012-12-22 23:09:44 +00:00
Jeremy Ruston
8f85ef94a6
Stop using triple curly braces for code
...
We'll use triple curly braces for filtered transclusions, and require
backtick for code.
2012-12-22 23:09:10 +00:00
Jeremy Ruston
015145952d
Added support for block macro calls
2012-12-20 17:03:41 +00:00
Jeremy Ruston
b0893956bc
Start introducing both inline and block variants of macro calls
2012-12-20 16:55:08 +00:00
Jeremy Ruston
094f8c32ca
Finishing moving the parser rules about
2012-12-20 16:41:06 +00:00
Jeremy Ruston
54423e599c
Moving the wikiparser rules around
2012-12-20 16:38:33 +00:00
Jeremy Ruston
42945789e9
Refactor parser rule architecture to allow individual parsers to function as both block and inline parsers
2012-12-20 16:02:03 +00:00
Jeremy Ruston
2f091fefda
Removed erroneous cruft
2012-12-20 15:43:12 +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
fc28ed0bbb
Renaming parser "run rules" to "inline rules"
2012-12-20 12:02:35 +00:00
Jeremy Ruston
2689f6b1e5
Loosened dash formatting rule
...
It no longer has to be followed by whitespace, instead it must be
followed by anything other than a dash.
2012-12-20 09:26:59 +00:00
Jeremy Ruston
a63c7a8822
More parser rules
2012-12-15 17:35:35 +00:00
Jeremy Ruston
0c3c2eeec6
Improve implementation of classed runs
2012-12-15 17:35:16 +00:00
Jeremy Ruston
e3462e5606
Added more parse rules
2012-12-15 11:39:58 +00:00
Jeremy Ruston
94d1c20846
Introduced widget base class
...
And renamed the wiki rule base class
2012-12-14 17:38:46 +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