Saq Imtiaz
041c3e817c
Support for macro params in filter operands ( #5836 )
...
* Exploratory pass at adding support for macro params in filter operands
* whitspace correction
* rename varInfo to varTree for disambiguation
* Refactored parseMacroInvocation to be re-usable, performance improvements for variables with no params and tests
* Revised regular expression and removed spurious white space changes
* Revised regular expression and removed spurious white space changes
* More whitespace cleanup and added more tests for edge cases
* Added test for macro params with square brackets
2021-06-29 22:21:39 +01:00
Mario Pietsch
9c0d6a46cc
Add "commentpragma" html style rule ( #5726 )
...
* html-comment, that can be used in the pragma area
* add commentpragma test
* fix typo
* fix typo and change comments ab bit
* combine html-comment and pragma-comment and add some docs, how to use it
* Make docs simpler by removing caching info
* change h2 wording
2021-06-14 17:39:56 +01:00
Joe Bordes
82ec63e711
style(App) eliminate whitespace at the end of code lines ( #5735 )
2021-05-30 19:20:17 +01:00
Miha Lunar
9b247f6d63
Removed fallback range logic
2021-05-29 20:30:04 +02:00
Cameron Fischer
61714cbda3
Fixed super minor issue with import pragma ( #5521 )
2021-05-23 17:39:06 +01:00
Miha Lunar
62fdaa633a
Fixed fallback range logic + added ranges to tests
2021-04-25 16:03:35 +02:00
Miha Lunar
79f5e6b498
Merge remote-tracking branch 'origin/master' into parser-ranges
2021-04-25 13:17:44 +02:00
Miha Lunar
23bd7e7817
Replaced restructuring and added fallback comment
2021-04-25 13:12:45 +02:00
jeremy@jermolene.com
89546b3357
Add a hidden setting to control HTML sandboxing
2021-04-11 10:10:16 +01:00
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
Cameron Fischer
4c7dcb83d1
Fix for #3306 , inline/block widget glitch ( #5452 )
...
* Fix for #3306 , inline/block widget glitch
* Just realized we don't need to set lastIndex anymore
* Forgot that parseBlocks doesn't use options
2021-01-29 14:57:30 +00:00
Cameron Fischer
45355a7fcf
Wikirules now use better macrocall parser ( #5451 )
...
* wikirules now use better macrocall parser
Before, wikirules would use a deficient macrocall parser which couldn't
handle certain types of arguments. Now it uses the same one that the
widget parser uses. Less code!
* style changes and removing weird switch statement
That switch statement made more sense in an earlier iteration.
* comment improvements
* oops, wikirule macrocalls could do ONE thing better
* '=' wasn't allowed for widget macros, but why?
Now they're allowed for both widget macros and macrocall macros.
2021-01-29 13:26:31 +00:00
jeremy@jermolene.com
ca95f1069f
Fixed comment parsers to match end marker correctly
...
Fixes #5396
2021-01-13 11:48:42 +00:00
jeremy@jermolene.com
d25e540dd2
Add support for image/vnd.microsoft.icon content type
...
Fixes #5357
2021-01-03 10:04:52 +00:00
jeremy@jermolene.com
d181b96518
Wikitext parser: Refactor a poorly written utility function
2020-11-18 12:05:06 +00:00
Miha Lunar
1b226c7556
Fixed coding standard nits
2020-11-06 19:56:20 +01:00
Miha Lunar
2bd9cc45fa
Added more start/end parser ranges
2020-11-04 21:02:17 +01:00
Nils-Hero Lindemann
322c37d693
Let chained >
blockquotes generate valid HTML ( #4332 )
...
* Replace "p" with "div" in itemTag
'>> text' will now be valid html.
* Make the new div's behave like p's
2020-04-07 20:39:13 +01:00
Lee Sheng Long
96eca32b11
Add download button/link to binary tiddler warning banners in view and edit mode ( #4423 )
2020-01-31 09:13:28 +00:00
Stefan Krüger
1ed884cef4
Add support for file type webm & ogg theora ( #4404 )
2020-01-04 11:27:13 +00:00
donmor
588af44d4c
Scale embedded videos and audios to fit their container ( #3943 )
...
* Update videoparser.js
* Update audioparser.js
* Update videoparser.js
* Update audioparser.js
2019-10-19 11:44:18 +01:00
Nils-Hero Lindemann
1c5b3e3d8d
Remove duplicate code from transcludeblock parser ( #4221 )
2019-08-30 17:20:16 +01:00
Jermolene
fe85845c3c
Add new "\import" pragma
2018-09-28 16:01:32 +01:00
Jermolene
09112ed455
Add support for webp, heic, and heif image formats
...
https://en.wikipedia.org/wiki/WebP
https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format
2018-08-21 11:46:46 +01:00
Jermolene
35cbb127a3
Restrict variable substitutions to macros defined with the define pragma
...
Fixes #3333
2018-06-15 08:31:02 +01:00
Jermolene
6b14969cf6
Display a warning for binary tiddlers in view mode
...
The base64 data is currently parsed as wikitext, which is slow and unhelpful
We already display the same warning for binary tiddlers in edit mode.
2018-05-18 17:53:07 +01:00
Matt Lauber
bbccb60c0b
Code Cleanup ( #3178 )
...
Noticed an unused variable in the image parser, from before a old refactor.
2018-03-19 15:46:07 +00:00
Jermolene
ff6aa0570f
Check for dollar sign within HTML element name
...
Fixes #3091
2018-01-16 22:13:40 +00:00
Jermolene
29364cbd08
Change http://*.tiddlywiki.com/ * to https://
2017-11-11 11:56:20 +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
0383b98555
Add support for other movie content types
2016-12-23 08:34:07 +00:00
Jermolene
f143164cbe
Correct the name of the video parser
2016-12-22 22:07:28 +00:00
Jermolene
74def9e080
Separate the PDF parser from the image parser
...
It was a bit of a hack, and made it harder to customise PDF presentation
2016-12-15 17:13:32 +00:00
Jermolene
7108e0d861
Add support for filtered attributes to HTML elements and widgets
...
Fixes #2624
2016-10-21 11:27:07 +01:00
Jermolene
accd4a1b65
Fix regexp performance problem introduced in c7b31b0242
...
This fixes a problem introduced in
c7b31b0242
.
The changes by @tobibeer inadvertently made the regular expression
evaluation significantly more expensive because of lookahead. The is
less elegant but reverts the performance problem.
2016-10-17 19:08:01 +01:00
Jermolene
da298f037d
Remove extraneous console.log()
...
Fixing f97c1226aa
2016-10-12 15:50:43 +01:00
Jermolene
f97c1226aa
Prevent HTML parser from mis-recognising email addresses
...
Email addresses such as `<jeremy@example.com>` were being erroneously
parsed as HTML tags.
Fixes #2604
2016-10-12 13:17:53 +01:00
Tobias Beer
b9299309cc
Fixes #2076 single line macros shouldn't need terminating line break
2016-10-08 13:44:30 +01:00
Tobias Beer
c7b31b0242
allows textPrimitives.anyLetter in syslink ( #2596 )
...
* allows textPrimitives.anyLetter in syslink
now only supports anyletter as per request by @jermolene
2016-10-08 11:51:07 +01:00
Jermolene
782553eb62
Remove tilde from characters not allowed in external URLs
2016-07-13 14:06:47 +01:00
Jermolene
dca9e008ce
Remove single quote from illegal characters in URLs
...
Fixes #2493
2016-07-12 17:22:20 +01:00
Jermolene
682b1e7027
Fix sandbox attribute for html parser generated iframes
...
See
https://developer.mozilla.org/en/docs/Web/HTML/Element/iframe#attr-sandb
ox
2016-05-17 15:45:10 -06:00
Jermolene
3a3754aebb
Add rel="noopener noreferrer" to external links
...
Background:
https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerab
ility-ever-96e328301f4c#.hduwdbjlb
2016-05-05 11:49:40 +01:00
Jermolene
df3e39d97a
Update wikiparser file comment
2016-02-15 11:33:47 +00:00
Jermolene
99df9f46f7
Add support for tiddlers containing mp4 videos
2015-10-01 12:13:38 +01: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
18e38bb2bc
Fix bug with 2cb6400773
...
The problem was that we failed to escape the dash in the regexp,
meaning that it was matching all characters from “.” to “_”.
2015-07-14 08:33:12 +01:00
Jermolene
2cb6400773
Extend automatic system tiddler linking to digits and underscore
...
Fixes #1877
2015-07-13 14:42:55 +01:00
Jermolene
c6e48ebc2d
Performance optimisations
...
In some situations, I’m seeing x2.5 speedups with these optimisations
Starts fixing #1864
2015-07-05 19:47:44 +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
50c6ce8b73
Improve syslink parsing
...
Fixes #1767
2015-06-24 09:24:03 +01:00
Jermolene
050b643948
Sandbox HTML iframes
...
Otherwise Firefox allows code in html tiddlers to access the main
window:
https://groups.google.com/d/topic/tiddlywiki/NwOI-QER2ig/discussion
2015-01-28 13:50:39 +00:00
Tobias Beer
b43d4a33d6
simplified regexp
...
Ok, I think I've got it now. The following matches all...
1. starting with a literal `$:`
2. then any number of character not a whitespace, `<` or `|`
3. closing with anything that is, again, not a whitespace, `<` or `|`
Test here...
http://tbdemo.tiddlyspot.com/#Autolink%20System%20Tiddlers
2015-01-11 11:04:02 +01:00
Tobias Beer
795a929187
create syslink.js, revert extlink.js
...
introduces new parser for system links
2015-01-09 23:51:07 +01:00
Tobias Beer
8ba3e8973e
autolinks system tiddlers
...
enhanced extlink parser to cover system tiddler links
of course, only those without spaces in their title
didn't want to open up an extra parser for this as extlink has all the
basics
2015-01-08 21:26:48 +01:00
Astrid Elocson
2f42c9fb8d
Links and transclusions in railroad diagrams
2015-01-06 01:39:24 +00:00
Jermolene
1600beb193
Move the wikilink regexps into global config
2014-11-26 11:12:25 +00:00
Jermolene
93cb03eeab
Allow whitespace after \end in macro definitions
...
Fixes #1090
2014-11-18 10:26:20 +00:00
Jermolene
5599f9f933
Fix problem with UTF-8 encoding of HTML tiddelrs
...
Fixes #1037
2014-11-03 16:20:49 +00:00
Xavier Cazin
6833bfb220
Add audio/ogg to the list of recognised audio formats
2014-10-19 22:09:17 +02:00
Jermolene
2ffe53f191
Add audio parser for handling audio content
2014-10-18 14:50:07 +01:00
Jermolene
a9f46525a0
Stop classifying digits as lower case letters in wikilinks
...
Fixes #842
2014-09-17 12:55:39 +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
Jermolene
43aeb47fc3
Skip whitespace from start of inline macro definitions
...
Now `\define mymacro() yes` will not have a leading space in the
variable value
2014-08-28 20:21:09 +01:00
Jermolene
787481a804
Change more "tw-*" classes to "tc-*"
...
Part of #764
2014-08-28 18:21:08 +01:00
Jermolene
4a1c530da7
Rename "tw-tiddlylink-*" classes to "tc-tiddlylink-*"
...
Part of #764
2014-08-28 18:13:46 +01:00
Jermolene
b2e1dd2138
Allow whitespace after first line of multiline macro
...
Fixes the remaining part of #482
2014-08-11 13:52:10 +01:00
Jermolene
2526bfb078
Disable wikilinking when preceded with dash or underscore
...
“HelloThere” in “My-HelloThere” shouldn’t be wikified.
Part of #337
2014-08-08 16:20:15 +01:00
Jermolene
f8548cc8f2
Stop classifyinh "÷" (\u00f7) as an upper case letter
...
Part of #337
2014-08-08 16:12:23 +01:00
Jermolene
9c8564d5b0
Stop classifying "×" (\u00d7) as a lower case letter
...
Part of #337
2014-08-08 16:09:56 +01:00
Jermolene
d7390dbbe1
Remove support for underscore and dash in wikilinks
...
Starting to fix #337
2014-08-08 11:13:41 +01:00
Jermolene
5260899d8b
Relax requirement for newline after macro definition
2014-08-07 16:00:20 +01:00
Jermolene
bf9a87dc0e
Fix CR handling by HTML parser
...
@pmario and @welford - I’m not presenting this as a fix for #717
because I’m still not in a position to reproduce it.
However, I found this during a review of newline handling code, and
would be interested if it is implicated in the problems you are
reporting.
2014-08-03 09:43:22 +01:00
Mario Pietsch
6de453d796
remove stricethrough.js
2014-07-24 23:51:37 +02:00
Mario Pietsch
bb47f1dbad
fix whitespace and filename
2014-07-24 23:49:42 +02:00
Mario Pietsch
95f6c92192
fixed whitespace
2014-07-24 23:47:13 +02:00
Mario Pietsch
7aa6c7c06d
splited emphasis.js into several modules to have fine grained control with wikification rules eg: rules except bold ... This fixes #701
2014-07-24 17:43:03 +02:00
buggyj
0206358a1c
added missing regex update for triple double-quotes macro params
2014-06-19 19:17:26 +02:00
buggyj
a2ec4c55e3
added triple double-quotes delimiters for marco/widget parameters (to support json strings)
2014-06-19 07:29:14 +02:00
Jermolene
9547a1f01c
First pass at external image support
...
A bunch of little changes that together enable external image support.
Try:
```
tiddlywiki editions/tw5.com --verbose --build externalimages
```
Then open `externalimages.html`, look for the images in the more/types
tab of the sidebar, open them and verify that they are set with an
external SRC attribute, not a data URI.
2014-06-12 08:36:30 +01:00
Jermolene
f131c37893
Update HTML parser to use an IFRAME
...
Gives us better sandboxing of unsafe HTML content
2014-06-11 23:04:58 +01:00
Jermolene
f44f2b33ed
Fixed missing class on external pretty links
2014-05-26 17:57:35 +01:00
Jermolene
c9c1b0fbb4
Get rid of the tweakParseTreeNode() hack
...
It’s an embarrassing hangover from a refactoring of the parsing
mechanism last year.
2014-05-14 08:51:08 +01:00
Jermolene
854b739a35
Implement explicit external links
2014-05-06 20:05:51 +01:00
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