1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-26 01:50:28 +00:00
Commit Graph

314 Commits

Author SHA1 Message Date
Jermolene
abe0ce28b9 Fix typos in docs for image parser 2014-05-06 19:00:34 +01:00
Jermolene
552657fc58 Fix text parser to use codeblocks
This means that JavaScript and JSON tiddlers will be properly
highlighted if the highlight plugin is loaded.
2014-04-24 19:41:07 +01:00
Jermolene
ad4b03506a Added wikitext image support
We’ve added a parser to recognise the `[img[URL or tiddler title]]`
format, and an associated image widget.
2014-04-17 12:52:32 +01:00
Jermolene
ace57dd205 Refactor utilities out of HTML parser
Some of the functions are useful general purpose parser helpers.
2014-04-17 12:00:32 +01:00
Jermolene
4c648e7cdc Exclude more illegal characters from external links 2014-04-14 11:17:28 +01:00
Jermolene
93b9d16d6c Don't include pipe characters in URLs 2014-04-13 21:17:44 +01:00
Jermolene
ccefc1b17b Tolerate more whitespace in block elements
Previously the double newlines marking a block mode element couldn’t be
interspersed with whitespace.
2014-04-10 11:05:27 +01:00
Jermolene
5a085f7927 Add basic CSV parser 2014-03-31 12:41:02 +01:00
Jermolene
bdbbf94326 Update transclusion wikitext syntax to allow a template without a target tiddler
This allows us to transclude a tiddler without changing the current
tiddler with `{{||MyTiddler}}`.
2014-03-17 21:44:10 +00:00
Jermolene
cdf3e101a8 Fix crash with headings
`this.match[1].length` can get overwritten when we parse the content of
the heading
2014-03-17 20:55:08 +00:00
Jermolene
75ff9fb6c0 Allow the end of text to be treated as a linebreak for parsing HTML tags 2014-02-22 08:43:03 +00:00
Jermolene
c17844b815 Another fix for the block vs inline handline 2014-02-20 22:43:04 +00:00
Jermolene
06a0d21734 Use double linebreaks to indicate content of a widget or html element should be parsed in block mode
Fixes #82.

The old behaviour was to parse the content of a widget or html element
in block mode if the opening tag was followed by a line break. The new
behaviour requires two line breaks.

This makes it possible to include linebreaks more liberally within
wikitext, although care must still be taken to only use double line
breaks when the block mode behaviour is desired.

The code change here is very simple, just a single line change in
html.js. Most of the other changes are to convert various single line
breaks into double line breaks.
2014-02-20 21:42:31 +00:00
Jermolene
d5b526914b Simplify the regular expression for HTML comments
We were getting catastrophic backtracking in Chrome for some input
texts where the closing “—>” of the comment was omitted.
2014-02-12 15:24:03 +00:00
Jermolene
0c20092644 Refactor the image parser to avoid generating badly formed image src's
Previously, a transclusion of a skinny image tiddler (ie one where the
body has yet to be loaded) would render a broken image.
2014-01-29 19:11:05 +00:00
Jermolene
6255b97b14 Resolve merge conflict 2014-01-25 14:41:48 +00:00
Jermolene
2c790d982f Switch to using $tw.fakeDocument for the fakedom document object
So that we can free us `$tw.document` to be the actual DOM document
2014-01-15 14:57:35 +00:00
Jermolene
809c441ab3 Merge branch 'master' of https://github.com/jbolila/TiddlyWiki5 into jbolila-master 2014-01-13 17:28:08 +00:00
João Bolila
426f2978cf fixes of a newbie, me 2014-01-12 17:09:24 +00:00
Jermolene
b7a1db1e9f Display tiddler data dictionaries as plain text 2014-01-12 11:58:32 +00:00
João Bolila
82a48cf85c codeblock as a widget and plugin for highlight code blocks 2014-01-07 22:57:46 +00:00
Stephan Hradek
9fee9b1043 Fix for Paul's concerns 2014-01-07 21:12:59 +01:00
Jermolene
027421f5e6 More coding style consistency 2014-01-03 10:54:00 +00:00
Jermolene
1a74e2538c Cleaning up further coding style inconsistencies that have crept in 2014-01-03 10:50:00 +00:00
Jermolene
8fc5c1d4a0 Further style tweaks to #321 2014-01-03 10:48:00 +00:00
Jermolene
1374bd9d78 Coding style fixes for #321 2014-01-03 10:43:08 +00:00
Jermolene
307b5c7d6b Merging #321 Table valign from @Skeeve 2014-01-03 10:39:55 +00:00
Stephan Hradek
917865c393 fixed an initialization error 2013-12-31 11:09:17 +01:00
Stephan Hradek
ec14a0a16d vertical alignment of cells - version 2 2013-12-31 11:05:08 +01:00
Stephan Hradek
ce8cc7607f changed to conform to Jeremy's standards - sorry… 2013-12-30 13:44:32 +01:00
Jeremy Ruston
2ee5093944 Merge pull request #305 from Skeeve/issue_186
added a fix for issue #186
2013-12-30 04:06:05 -08:00
Stephan Hradek
14868d8228 also fixed issue #315 2013-12-30 00:28:43 +01:00
Stephan Hradek
3cc8138133 fixed issue #314 - fix for > at end of line 2013-12-29 23:57:42 +01:00
Stephan Hradek
8e080eac0a fixed issue #314 2013-12-29 23:51:22 +01:00
Stephan Hradek
f9de55ad5f added fix for issue #94 for horizontal rules, tables and typed block 2013-12-25 23:06:42 +01:00
Stephan Hradek
81106e500d added a fix for issue #186 2013-12-25 14:31:35 +01:00
Jermolene
ad6bf4f9c5 Extend support for .ico files
Now we can parse image/x-icon tiddlers for display, and provide an
entry for them in the type dropdown.
2013-12-24 09:07:25 +00:00
Jermolene
57adbe5bf7 Fixed typo in hardlinebreak parser 2013-12-14 17:42:50 +00:00
Jermolene
ef9175e7bc Remove debugging info 2013-12-14 17:07:47 +00:00
Jermolene
6a8feb216a Add parser rule for hard linebreaks 2013-12-14 17:05:57 +00:00
Jeremy Ruston
0a93edb1b6 Merge pull request #249 from Skeeve/quotes
added quote rules
2013-12-06 01:16:39 -08:00
Stephan Hradek
b0ff8bee6a as requested - quote.js removed because of quotelist - do not forget to add some css classes 2013-12-06 09:57:56 +01:00
Jermolene
ffcf2bfaac Missing comma
Omitted from 4d4a0e01b4
2013-12-05 16:20:22 +00:00
Stephan Hradek
374743883d inserted > into lists 2013-12-05 00:31:55 +01:00
Stephan Hradek
62b9fb336b fixed a small bug related to closing wiki-tag - no really 2013-12-01 22:05:49 +01:00
Stephan Hradek
8ed364ed72 fixed a small bug related to closing wiki-tag 2013-12-01 22:01:21 +01:00
Stephan Hradek
2ec58f7fa2 added quote rules 2013-12-01 21:21:15 +01:00
Jermolene
3b35d7dfe4 Fixed problem with greedy regexp for macrocalls
It was preventing this from working:

```
<<macro>><<bacrp>><<sdf>><<qweqwe>>
```
2013-11-17 21:53:12 +00:00
Jermolene
f6a4ea6b0f Fixed typo from d64590a12b 2013-11-11 23:44:55 +00:00
Jermolene
d64590a12b Fixed problem with target fields/index being erroneously applied to template
See here for discussion:

https://groups.google.com/d/msg/TiddlyWiki/D3MBNhjaT3E/ph0ZuAhuPFMJ
2013-11-11 22:29:38 +00:00
Jermolene
04e2f18ff1 Remove tooltip, classes and styles from transclusion syntax
Now that transclusion doesn't generate any intrinsic elements we don't
have an element to attach the tooltip, classes and styles to.
2013-11-10 22:46:37 +00:00
Jeremy Ruston
e93ac76581 Make sure external links have the class "tw-tiddlylink-external"
Fix #203
2013-11-08 12:26:32 +00:00
Jeremy Ruston
cc0011abd3 Get rid of the "new_" prefix we had on some methods
There's still the "old_" prefix to get rid of too.
2013-11-08 08:51:14 +00:00
Jeremy Ruston
b7cb1d3391 Change new_widget to widget
I was avoiding doing this until after the merge.
2013-11-08 08:47:00 +00:00
Jeremy Ruston
35adf4269a Merge backlog of changes from master branch
This is too easy. I'm worried.
2013-11-08 08:33:27 +00:00
Jeremy Ruston
9e3618bdcf Rename the 'title' attributes of various widgets to 'tiddler'
The change is to avoid confusion with the HTML 'title' attribute. The
name 'tiddler' better emphasises the purpose of the attribute, too.
2013-10-30 13:36:44 +00:00
Jeremy Ruston
14d7d5ea59 Use the new wiki.makeWidget() method where we can 2013-10-29 14:51:35 +00:00
Jeremy Ruston
5610efff01 Update typedblock parser to use new widget mechanism 2013-10-27 22:53:22 +00:00
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
779d8b3aad Update TW2 wikitext content type to text/x-tiddlywiki
And also stop assigning the default content type of
`text/vnd.tiddlywiki` to imported tiddlers.
2013-08-25 22:06:28 +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
3b563e19cf Removed obsolete comments 2013-08-23 18:38:44 +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
5abc0a7835 Get rid of the obsolete font parser 2013-05-17 17:30:33 +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
6864251962 Cleaning up content types
Dealt with some inconsistencies
2013-05-13 17:42:07 +01:00
Jeremy Ruston
408fcd8aa3 Add a parser for woff fonts
It's a bit of a hack to have a parser dedicated to fonts. We'll replace
it with a mechanism that handles generic binary data
2013-05-01 13:04:27 +01:00
Jeremy Ruston
82308f642a Use the text parser to parse CSS 2013-04-25 09:05:17 +01:00
Jeremy Ruston
64eadcfc41 Add an HTML parser
Allows one to embed raw HTML in wikitext with `$$$.html`/`$$$`
2013-04-10 17:02:37 +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
c182533efc Parse TiddlyWiki classic wikitext as plain text
Too many errors if we try to parse it as TW5 wikitext
2013-04-02 18:20:38 +01:00
Jeremy Ruston
5a6c2b91f8 Parse JSON as text so that it doesn't generate missing tiddlers 2013-03-19 18:26:55 +00: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
d28ee0b82a Change module type for parsers to "parser" 2013-01-16 13:56:11 +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
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
c078edf468 Rename the old image parser to make room for the new one 2012-12-27 17:07:35 +00:00
Jeremy Ruston
c703fb1267 Get rid of the wikivocabulary object 2012-12-26 22:02:59 +00:00
Jeremy Ruston
cbc08fcc1c Reorganise the old parsers preparatory to replacing them 2012-12-26 20:03:33 +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
0cb76f6fc0 Mark each rule with its type as it is instantiated 2012-12-20 16:49:04 +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
228ee92e95 Enhanced wiki text parser to selectively eat terminator regexp matches 2012-12-15 11:38:28 +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
Jeremy Ruston
91e1a38db1 Switched to use double curly braces for transclusion
For compatbility with MediaWiki and other engines
2012-11-29 18:34:27 +00:00
Jeremy Ruston
6d09b2fb9c Improve syntax for classed runs 2012-11-29 17:23:46 +00:00
Jeremy Ruston
97f6314dbb Update the tiddler and list macros to allow the template to be specified in the body of the macro 2012-11-29 16:40:06 +00:00
Jeremy Ruston
515e0d9bf1 Fixed bug with table parser 2012-11-26 14:19:54 +00:00
Jeremy Ruston
84650b9a54 Swap over to the new mime type conventions
Discussed in
https://groups.google.com/forum/#!topic/tiddlywikidev/re8xfLqZNCE
2012-11-18 15:22:13 +00:00
Jeremy Ruston
41db3d89ae Use the plain text parser to display HTML files
We could display the HTML in an IFRAME but I think that's often not
what people want
2012-11-18 14:57:10 +00:00
Jeremy Ruston
addef09d1c Fix problem with JS parser crashing on skinny tiddlers 2012-11-18 14:56:33 +00:00
Jeremy Ruston
605a7a4124 Fixed problem with missing macros throwing an error 2012-11-18 13:43:06 +00:00
Jeremy Ruston
bf04207350 Rename the wikitext parser 2012-11-15 12:53:10 +00:00
Jeremy Ruston
5f9b2e9d84 Turn the TiddlyWiki 2.x.x parser into a plugin 2012-11-15 12:47:09 +00:00
Jeremy Ruston
539b64b626 Refactoring module mechanism
Changed the data structure $tw.modules.types to make it possible to
detect repeated registrations
2012-11-14 11:23:43 +00:00
Jeremy Ruston
9f6909ddc4 Appeasing the gods of JSHint 2012-11-06 17:21:56 +00:00
Jeremy Ruston
dcac40ac31 Change the transclude wikitext rule to use the list macro 2012-10-16 18:50:44 +01:00
Jeremy Ruston
4530eaf24a Update transclude parser rule to use the tiddler macro for single tiddlers 2012-10-15 19:03:05 +01:00
Jeremy Ruston
fc19a77353 Added support for PDF images 2012-10-10 10:45:39 +01:00
Jeremy Ruston
7a15b6f97a Fixed mis-renaming of tiddlywiki.files 2012-08-31 15:09:33 +01:00
Jeremy Ruston
ed3a10f043 Renamed tiddlywiki.plugin files to tiddlywiki.files
Because we're just about to use the name `tiddlywiki.plugin` for
exploded plugin folders
2012-08-31 15:04:08 +01:00
Jeremy Ruston
daff9c10f3 Tighten terminology for plugins vs. modules
"Plugins" are bundles of tiddlers managed as one, "modules" are
JavaScript tiddlers with a module type identifying when and how they
should be executed.
2012-08-03 15:09:48 +01:00
Jeremy Ruston
1f52b40cb6 Added parser rule for HTML format comments
And try it out in the PageTemplate, which is getting pretty
unintelligable
2012-08-02 22:06:52 +01:00
Jeremy Ruston
c1e33ccacb Changed default type for typed blocks to be text/plain 2012-07-18 14:28:17 +01:00