1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-09 11:29:58 +00:00
Commit Graph

1125 Commits

Author SHA1 Message Date
Jeremy Ruston
62b72f6bd1 Move browser-startup module initialisation to the end of startup 2013-10-25 12:53:40 +01:00
Jeremy Ruston
11a07e71dc Move stripcomments from the classictools plugin into the core
It's a bit of a hack for the moment. The plan is to implement
stripcomments via the macro mechanism, at which point it can move back
into the plugin.
2013-10-25 12:32:57 +01:00
Jeremy Ruston
8a709a0b00 Give the edit-text widget some extensibility hooks
So that the upcoming CodeMirror plugin can do its stuff
2013-10-25 09:15:56 +01:00
Jeremy Ruston
3251aa191f Fix up saving encrypted wikis 2013-10-24 13:10:32 +01:00
Jeremy Ruston
56b2c25588 Whoops file in the wrong place 2013-10-24 12:00:32 +01: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
3350510516 Add new modules and moduletypes filter operators 2013-10-23 23:11:41 +01:00
Jeremy Ruston
3241c2b76a Added password widget 2013-10-23 20:24:45 +01:00
Jeremy Ruston
54bed81ab9 Missed off some of the refresh logic 2013-10-23 19:46:31 +01:00
Jeremy Ruston
4e713baeee Add checkbox widget and fix up task management example 2013-10-23 19:38:36 +01:00
Jeremy Ruston
67490cbb74 Whoops console.log.alypse 2013-10-23 17:50:51 +01:00
Jeremy Ruston
f2ac04943f Fixed tag autocomplete popup on focus 2013-10-23 17:41:12 +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
6f2dbd0978 Refactor name of "findNextSiblingDomNode()" method for consistency 2013-10-22 18:14:16 +01:00
Jeremy Ruston
7393a296dd Add a fieldmangler widget 2013-10-21 22:54:58 +01:00
Jeremy Ruston
06af26b1c8 Give the edit-text widget support for the placeholder attribute 2013-10-21 22:54:48 +01:00
Jeremy Ruston
e2b8249a1b Fix problem with findNextSibling() 2013-10-21 22:27:12 +01:00
Jeremy Ruston
409152afb8 Make the default list widget template include a div or span
Otherwise writing this makes a list on one line:

```
{{{ [tag[done]] }}}
```
2013-10-21 22:26:36 +01:00
Jeremy Ruston
c96cb6e956 Parse typed blocks with the new parser 2013-10-21 20:20:44 +01:00
Jeremy Ruston
a99f912bad Fix typo 2013-10-21 20:20:32 +01:00
Jeremy Ruston
2a571b4f5f Switch the notifier and modal mechanisms to use the new widget mechanism
Note the use of the `$tw.rootWidget` to collect together the root event
handlers
2013-10-21 20:14:01 +01:00
Jeremy Ruston
48dbacc88a Add support for widget event listeners to be specified as functions 2013-10-21 20:13:08 +01:00
Jeremy Ruston
ce1fb300f8 Use the new widget mechanism for stylesheet parsing and rendering 2013-10-21 18:38:20 +01:00
Jeremy Ruston
89310e71c8 Add a new version of rendertiddlers command
So that we can test static html generation
2013-10-21 18:33:00 +01:00
Jeremy Ruston
26ac940637 Fix typo 2013-10-21 18:32:29 +01:00
Jeremy Ruston
e33f588b73 Let the new rendering methods accept a parent widget 2013-10-21 18:32:19 +01:00
Jeremy Ruston
dc9c2522b9 Fix typo in macro variable substitution 2013-10-21 18:31:41 +01:00
Jeremy Ruston
167116d416 Fix output type for view format htmlwikified 2013-10-21 18:31:27 +01:00
Jeremy Ruston
3005604b83 Give link widget support for configuration variables
One can now use `\define tw-wikilinks() no` to disable wikilinks, and
`tw-wikilink-template` to configure the link template.
2013-10-21 18:31:04 +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
25612958d7 Fixed bugs in previous commit to extend search to titles and tags of binary tiddlers 2013-10-18 16:09:10 +01:00
Jeremy Ruston
3f151ba70e Add support for macro modules
Now JavaScript macros can be defined in "macro" modules
2013-10-17 16:57:07 +01:00
Jeremy Ruston
55d479c540 Extend macrocall widget to take parameters both from the parse tree node and the attributes
This allows us to invoke macros using the ordinary widget syntax, which
in turn allows us to use features like indirection on the parameters.
2013-10-17 16:55:23 +01:00
Jeremy Ruston
6b9b75142b Fix text reference regexp to allow for tiddler titles with embedded spaces 2013-10-17 16:40:13 +01:00
Jeremy Ruston
e11c620c27 Fix search filter so that titles and tags of binary tiddlers are searched 2013-10-17 16:34:50 +01:00
Jeremy Ruston
a3eaffa666 Add a linkcatcher widget 2013-10-16 16:30:06 +01:00
Jeremy Ruston
adb395d10f Fix edit-text widget to work with indexed values 2013-10-16 16:29:51 +01:00
Jeremy Ruston
7f6d770ca6 The reveal widget should generate a span when in inline mode
The only reason that the reveal widget generates an element is so that
we can use `display:none/block;` (as did the pre-refactored code) as a
quick way of hiding and showing the content. We don't do that yet, and
it may be best never to do it.
2013-10-16 16:29:35 +01:00
Jeremy Ruston
77248d08a8 Add the count widget 2013-10-15 21:07:13 +01:00
Jeremy Ruston
5b4ca67d6e Make the reveal widget hide the div element if it is not open 2013-10-15 21:06:52 +01:00
Jeremy Ruston
78bc89cbdb Add a edit text widget
Now rather than a separate module type for different editors, we
instead have a meta-widget "edit" that chooses the appropriate concrete
widget (currently just "edit-text", but soon to be joined by
"edit-bitmap" as well)
2013-10-15 14:32:27 +01:00
Jeremy Ruston
a696c716e3 Support the remaining events on the navigator widget 2013-10-15 14:30:36 +01:00
Jeremy Ruston
933afee996 Get rid of the old setstyle widget
And fix up the colouring of tiddler icons
2013-10-15 08:36:19 +01:00
Jeremy Ruston
20cd398e88 Fix popup positioning in the reveal widget 2013-10-14 23:32:01 +01:00
Jeremy Ruston
707024a118 Set the colour of the tag pills
We no longer need the old setstyle widget
2013-10-14 21:38:12 +01:00
Jeremy Ruston
e3dcb8cdc1 Fix view widget to display friendly text of tiddler values 2013-10-14 21:02:03 +01:00
Jeremy Ruston
468fe8b6f1 Add macrocall widget
Now the fields table works in the tiddler info popup
2013-10-14 17:48:26 +01:00
Jeremy Ruston
ebd28c8dc7 Get the tiddler info panel fields list working properly
Now we can display the fields list as a proper table.

We've had to temporarily hack the list widget again…
2013-10-14 17:35:52 +01:00
Jeremy Ruston
94c2eacdc9 Support selectedClass properly in the button widget 2013-10-14 16:56:13 +01:00
Jeremy Ruston
0c73c56b70 Fixes to button refreshing 2013-10-14 13:52:03 +01:00
Jeremy Ruston
1669c6eab5 Make recursion markers include the current tiddler
Otherwise the generated qualifying state title is not unique. In other
words, clicking the "i" button on a tiddler was opening the info panels
for all open tiddlers.
2013-10-14 13:06:07 +01:00
Jeremy Ruston
ea0b298b78 Deal with viewing date fields that don't exist 2013-10-14 12:59:39 +01:00
Jeremy Ruston
cc4940f41f Use the setvariable widget instead of macrodef
setvariable is more general
2013-10-13 23:40:11 +01:00
Jeremy Ruston
942e463b20 Fixes to get recent changes list to work 2013-10-13 22:59:14 +01:00
Jeremy Ruston
ce4a6ffa49 More useful class variables for tiddler status 2013-10-13 22:46:45 +01:00
Jeremy Ruston
9278c43a91 Add support for macro definitions 2013-10-13 22:39:05 +01:00
Jeremy Ruston
79dcc9a557 Refactor macro parameter substitution
Now macros can also include references to variables as `$(variable)$`
2013-10-13 22:38:46 +01:00
Jeremy Ruston
987890c085 Add button widget 2013-10-13 21:31:00 +01:00
Jeremy Ruston
b0503cf709 Fixes to make SVG and MathML elements work properly 2013-10-13 20:14:31 +01:00
Jeremy Ruston
ed35d91be6 Initial Commit
Carried over from the abortive pull request #169
2013-10-12 17:05:13 +01:00
Jeremy Ruston
d3d72eff1b Search over tags as well as the title and text fields 2013-10-11 08:46:09 +01:00
Jeremy Ruston
f2b598ef13 Correct example 2013-10-05 16:01:07 +01:00
natecain
c45f4d1c62 Small revision to previous commit, avoids double encoding.
We don't need to encodeURIComponent at all when using blob links.
The data never goes into the dom directly, just a guid reference.

This makes saving with blobs very fast!
2013-10-01 17:35:58 -04:00
natecain
aef8e63cf8 Use Blob api to generate data links in download saver
This should fix crashing on large wikis under chrome
  see chrome bug: https://code.google.com/p/chromium/issues/detail?id=103234
This should also speed up generating the download html by a couple of seconds
  it avoids repeatedly marshalling the base64 encoded href string across the sandbox boundary
  it avoids some time and memory consumed by "large" dom manipulation
  major remaining delay is in encodeURIComponent
    TODO: consider using iconv on the server
    TODO: consider async invocation of regular expressions to avoid client "lockup"

Conflicts:
	core/modules/savers/download.js
2013-10-01 17:35:47 -04:00
David Johnston
d321508437 Remove incorrect slice parameter.
Remove incorrect slice parameter, which made the ! (not) prefix fail to return any results.
2013-10-01 10:50:13 +01:00
David Johnston
f0b6790ae1 Previous in list filter. 2013-09-22 09:58:18 +01:00
David Johnston
b72afda7a2 Next in List filter 2013-09-22 09:57:23 +01:00
Jeremy Ruston
f51d0c55fe Fix eachday and sameday filter operators
There was some inconsistency of UTC vs. timezone handling
2013-09-21 10:08:16 +01:00
Jeremy Ruston
d0db2221d3 Fix problem with lowercase drive letters when saving with TiddlyFox under Windows 2013-09-19 13:50:28 +01:00
Jeremy Ruston
dec7870eeb Update HTML5 saver to use current filename where possible
Most browsers still ignore the specified filename, sadly.
2013-09-19 10:50:14 +01:00
Jeremy Ruston
3d5d5952b7 Fix broken regexps
Using .|\n was a very bad idea, as it doesn't match other newline
characters
2013-09-18 19:09:54 +01:00
Jeremy Ruston
b563d8e98a Ensure getTiddlerList() returns a copy of the tiddler list
Fixes #155
2013-09-18 12:12:29 +01:00
Jeremy Ruston
10a635927d Add confirmation when overwriting an existing tiddler
Now there's a JavaScript confirm when attempting to save a tiddler that
has been renamed to the name of an existing tiddler
2013-09-14 21:57:23 +01:00
Jeremy Ruston
4fb6836481 Add an untagged filter operator and sidebar tab 2013-09-14 16:28:46 +01:00
Jeremy Ruston
4a663d1661 Improve docs for $tw.utils.addEventListeners() 2013-09-14 13:47:51 +01:00
Jeremy Ruston
e39663ede3 Fix crash on processing anonymous macro parameters
Fixes #151
2013-09-10 22:08:09 +01:00
Jeremy Ruston
e034f28091 Bail out earlier when displaying a modal for a non-existent tiddler 2013-09-10 15:28:15 +01:00
Jeremy Ruston
2be9e82f84 Get rid of the modal popup for empty wikis
Ugly and clumsy.
2013-09-01 22:33:23 +01:00
Jeremy Ruston
83f85cad7d Add support for MathML namespace
It doesn't actually work, though, which is weird, since SVG works just
fine using the same mechanism
2013-08-31 11:15:50 +01:00
Jeremy Ruston
ee33cbbc2e Fix up some problems when the animation duration is zero
We want to be able to suppress animations by making the duration zero
2013-08-29 12:43:24 +01:00
Jeremy Ruston
1b094b1d5c Avoid attempts to save a tiddler with an empty title
Clicking "save" with a blank title will now be ignored
2013-08-28 19:46:21 +01:00
Jeremy Ruston
fbfe5a26c5 Move the animation duration into a tiddler so that we can easily let it be adjusted in the control panel 2013-08-28 15:15:56 +01:00
Jeremy Ruston
e8425131f4 Correct typo in 954a987d31 2013-08-28 14:44:59 +01:00
Jeremy Ruston
954a987d31 Extend the edit widget to be able to edit properties of data tiddlers 2013-08-28 11:23:14 +01:00
Jeremy Ruston
dfb49f811e Fixed problem with importing tiddlers with double quotes, gt, lt etc
Reported by @giffmex
2013-08-28 09:25:54 +01:00
Jeremy Ruston
06599bcfc6 Fix up closing tiddlers in the zoomin listview
One for @giffmex
2013-08-26 14:48:05 +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
d0dff80d6d Fix problem with insertBefore() on Win7/IE10
The problem is that insertBefore() on Win7/IE10 crashes if the second
parameter is undefined, rather than behaving as if the parameter is
missing, as all other browsers do. Aaargh.
2013-08-24 23:28:17 +01:00
Jeremy Ruston
df0a1a7c42 Fix problem with wiki.search() incorrectly searching missing tiddlers 2013-08-24 16:51:54 +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
d6ec1ea1e5 Remove plugin field now that we've got the plugin-type field
I've been meaning to remove the `plugin` field for ages.
2013-08-23 18:37:54 +01:00
Jeremy Ruston
e1a38d88a7 Add a count widget 2013-08-21 23:09:54 +01:00
Jeremy Ruston
44f172c5ec Correct harmless but confusing typo 2013-08-21 23:09:40 +01:00
Jeremy Ruston
ca142dbdb5 Remove extraneous references to current field context variable
This should have been done as part of
6fc4e5db7c
2013-08-21 22:42:05 +01:00
Jeremy Ruston
5fe2d718e0 Fix crash with "fields" filter operator applied to missing tiddlers
Fixes #132
2013-08-21 22:33:04 +01:00
Jeremy Ruston
8cbb98d44d Hack the list widget
Usually the list transcludes each tiddler through the sample template.
This hack makes it work differently, where each tiddler is used as a
template to render the same current tiddler. The attribute that
switches modes is called "hackTemplate" because this is a temporary
implementation of this capability for experimental purposes
2013-08-21 20:50:08 +01:00
Jeremy Ruston
a427702628 Allow username to be set for the built-in server 2013-08-21 09:53:45 +01:00
Jeremy Ruston
1fd59a4bd3 First pass at a saver for the AndTidWiki app on Android 2013-08-19 13:55:40 +01:00
Jeremy Ruston
bc56253479 Extend the list widget to allow the generated HTML elements to be controlled
This makes it possible to generate UL or OL lists as well as the
current divs and spans.

This feature is clearly necessary but I'm not very happy with it. It
feels as though the syntax should be modifying a UL tag to specify the
extra information required to generate the list, rather than turning
the list widget to indirectly specify it's elements.
2013-08-19 11:08:00 +01:00
Jeremy Ruston
a36d3895ff Remove type attribute from the list widget
It's just a shortcut that clutters things up; easier to do the same
thing with a macro
2013-08-18 20:41:46 +01:00
Jeremy Ruston
f4b4415676 Fix problem which was preventing transcluded indexed properties from being parsed inline 2013-08-16 13:11:44 +01:00
Jeremy Ruston
b88079442c Add "listed" filter operator for retrieving the tiddlers that list a specified tiddler 2013-08-16 09:31:05 +01:00
Jeremy Ruston
6fc4e5db7c Get rid of the old "fieldgrid" and "fieldlist" widgets
Instead, we'll use the "list" widget with the new support for macros.
2013-08-15 18:17:11 +01:00
Jeremy Ruston
8c48d45479 Add a "fields" filter operator 2013-08-15 18:15:54 +01:00
Jeremy Ruston
6be8afe49f Extend the list widget to allow it to render each element as a macro
This will enable us to drop several existing widgets: fields,
fieldlist, fieldgrid
2013-08-13 19:33:45 +01:00
Jeremy Ruston
e27c5005ef File renames for 46b2fde2d9 2013-08-09 22:00:42 +01:00
Jeremy Ruston
0cf4c578d4 First take of the ConfigInfo panel
It displays internal configuration information for debugging and
learning about TiddlyWiki. Also introduces a way of interleaving
documentation tiddlers (complete for tiddler fields, more module type
docs to come)
2013-08-09 21:57:05 +01:00
Jeremy Ruston
0bda00ae71 Extend the fieldlist widget to retrieve all fields used across all tiddlers 2013-08-09 16:46:17 +01:00
Jeremy Ruston
9b7cee81f2 Add type="modules" support to the info widget
With type="modules", the info widget outputs a list of the currently
loaded modules, grouped by module type.
2013-08-09 16:45:40 +01:00
Jeremy Ruston
46b2fde2d9 Rename "dump" command to "print" command
Being pan-cultural is hard.
2013-08-09 09:24:58 +01:00
Jeremy Ruston
7e82eb13eb Fix problem with stray drag image showing
Changes to the main layout CSS a few weeks ago meant that the drag
image element was visible at the top left corner of the window.
Astoundingly, the fix is to cover it with another div with the same
background colour as the page….
2013-08-08 21:46:38 +01:00
Jeremy Ruston
a9a2ae2223 Add sorting by tiddler lists
The tag and tagging filters now sort their results by the list field of
the tag, if present
2013-08-08 17:39:34 +01:00
Jeremy Ruston
83ea953a1d Switch the story list over to using the new list field 2013-08-07 17:54:27 +01:00
Jeremy Ruston
8443a9d6ca Fix comment 2013-08-07 16:04:06 +01:00
Jeremy Ruston
85007cb1e1 Correct comments 2013-08-06 15:27:02 +01:00
Jeremy Ruston
39b6091258 Don't set modification fields on synced tiddlers 2013-08-06 15:26:48 +01:00
Jeremy Ruston
0ae0f68257 Update filenames to reflect changes in 05ac094d2e 2013-08-04 22:31:09 +01:00
Jeremy Ruston
05ac094d2e Rename the savetiddler/savetiddlers commands to rendertiddler/rendertiddlers
'Render' reflects what the commands actually do, and frees up 'save'
for actually saving the raw content of a tiddler.
2013-08-04 22:26:45 +01:00
Jeremy Ruston
be7cc67ab6 Correct mistaken classification of savetiddlers command as asynchronous 2013-08-04 22:02:19 +01:00
Jeremy Ruston
86e73ee323 Set modified field and other metadata for newly created and modified tiddlers
Right now we're setting the created/modified time, and only setting the
creator/modifier if the tiddler `$:/status/UserName` is defined.
2013-08-04 14:02:07 +01:00
Jeremy Ruston
5994a84644 Extend ginsu.sh to generate a split.recipe file 2013-08-03 15:03:07 +01:00
Jeremy Ruston
799647e38b Fix problem with search term being filtered from search results
Some leftover code meant that tiddlers titled with the precise search
term were excluded from the results.
2013-08-03 09:28:51 +01:00
Jeremy Ruston
602b9d34e4 Unpack the object returned by getBoundingClientRect()
Embedding the return object directly doesn't survive the object being
passed as an event parameter.

Fixes #114
2013-07-25 16:58:42 +01:00
Jeremy Ruston
a79e876806 First pass at a grid widget
Need to add support for cell templates and in place editing.
2013-07-22 13:03:46 +01:00
Jeremy Ruston
f1a7e433ab Allow widget names to include digits 2013-07-14 23:13:42 +01:00
Jeremy Ruston
8c73d8db4b Confirmation message for $tw.slowmo() 2013-07-14 23:13:13 +01:00
Jeremy Ruston
1a160485a8 Documentation correction 2013-07-08 21:44:12 +01:00
Jeremy Ruston
6e98af3bbd Experimenting with different easing functions for the zoomin animation 2013-07-08 17:20:06 +01:00
Jeremy Ruston
24ad677d75 Add back the zoomin view
An alternative visualisation for the story list. It just shows the
currently selected tiddler, with smooth animations between tiddlers.

Not entirely finished yet; for instance, if you close the current
tiddler you get a blank screen until you select another tiddler.
2013-07-08 15:19:00 +01:00
Jeremy Ruston
ea8c795d01 Add a hack to switch slowmo animation mode
Just type `$tw.slowmo()` in the developer console to engage slowmo mode.
2013-07-08 15:17:29 +01:00
Jeremy Ruston
1304bfd0d4 Special treatment so that text reference to title field works for missing tiddlers
The title field is the one field that we know for missing tiddlers.

This is needed in a subsequent commit of viewswitcher.
2013-07-08 15:16:55 +01:00
Jeremy Ruston
53ead15273 Refactor scroller so that the scrollIntoView() method is a bit more usable
Passing an event instead of a DOM node was silly.
2013-07-08 15:15:53 +01:00
Jeremy Ruston
594f4ba204 Update animations to use a timer instead the transitionEnd event
Thr trouble is that the transitionEnd event doesn't fire under some
circumstances (eg if the animated element is hidden). So, it's more
reliable to use a timer instead
2013-07-06 12:57:37 +01:00
Jeremy Ruston
b51fb9cfa9 Linting 2013-07-05 22:37:55 +01:00
Jeremy Ruston
6d3f224817 Fix problem with pop listview animation
It turns out the transitionEnd event fires separately for each animated
property. We'll just remove ourselves on the first one
2013-07-05 11:15:51 +01:00
Jeremy Ruston
c72a63849b Add some more methods to the fake DOM
These methods are needed to get static saving working in the browser
again (click "Save Static" in the Demo tiddler)
2013-07-05 10:47:08 +01:00
Jeremy Ruston
e6450e60e2 Add a popping animation to the tags editor 2013-07-04 12:50:31 +01:00
Jeremy Ruston
647bd51299 Fix problem with erroneous initialisation of changedTiddlers member 2013-07-03 16:00:48 +01:00
Jeremy Ruston
e583c1d72d Use empty string as default value for reveal widget 2013-07-03 16:00:26 +01:00
Jeremy Ruston
627dba01e4 Make getContextScopeId() more selective about context fields that are included
We were getting a problem whereby macro definitions were showing up in
the context string.
2013-07-03 16:00:10 +01:00
Jeremy Ruston
6299026407 Fix issue with child nodes of macro call not being refreshed 2013-07-03 15:59:09 +01:00
Jeremy Ruston
0edfc855b4 Replace obsolete content type 2013-06-27 10:19:38 +01:00
Jeremy Ruston
d93e6b1229 Always default to a href='#title' format for tiddler links
The link format will be overridden when we're creating links within
static HTML representations
2013-06-27 09:03:59 +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
cb34ef20ad Add input type handling to the texteditor
This allows us to customise the input element used for each field type.
The only one implemented at the moment is color, which currently only
works on Chrome
2013-06-13 09:17:36 +01:00
Jeremy Ruston
8471a2217a Improve handling of fieldmodules lacking a stringify method 2013-06-13 09:16:26 +01:00
Jeremy Ruston
204bd69e83 Fix issue preventing tags being added to a tiddler with no existing tags 2013-06-11 14:52:01 +01:00
Jeremy Ruston
d6654c4a0b Fixed problem with not being able to manually scroll after navigating to a tiddler 2013-06-10 21:07:23 +01:00
Jeremy Ruston
3cda8758ae Refactor scrolling animation to use requestAnimationFrame() instead of setInterval() 2013-06-10 14:11:58 +01:00
Jeremy Ruston
2c20e6579d Update edit widget to trigger a popup when focussed
This will allow us to do autocompletion
2013-06-09 19:27:45 +01:00
Jeremy Ruston
e4aa80b277 Update the transclude widget to update parameters for remove tag message 2013-06-09 19:27:15 +01:00
Jeremy Ruston
d4b6c05bc2 Update linkcatcher to optionally trigger a different event 2013-06-09 19:26:42 +01:00
Jeremy Ruston
0cbb89770f Update fieldmangler widget to be able to add and remove tags 2013-06-09 19:26:05 +01:00
Jeremy Ruston
92fee547a9 Allow class to be specified for list widget frame element 2013-06-09 19:25:11 +01:00
Jeremy Ruston
a20eb4867e Update link widget to use current tiddler as default target 2013-06-09 19:24:45 +01:00
Jeremy Ruston
2c8352c442 Update the popup manager to allow popup state to be forced, rather than toggled
We'll be needing this shortly
2013-06-09 19:24:21 +01:00
Jeremy Ruston
b3c6b51fc7 Make the prefix filter operator be case insensitive by default 2013-06-09 19:23:52 +01:00
Jeremy Ruston
aeb8d0d1e6 Allow a placeholder attribute to be specified on the edit widget
Also fix some problems with handling of the class and style attributes
2013-06-08 17:30:54 +01:00
Jeremy Ruston
694ca76e7f Improve the bitmap editor to allow the bitmap to be resized
A bit rough and ready, too
2013-06-06 20:55:43 +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
d81f45764a Start refactoring the bitmap editor to permit a more complex UI 2013-06-05 19:04:40 +01:00
Jeremy Ruston
2d5d1d1ce1 Improve editting of corrupt images
We now detect errors loading the image and initialise a blank canvas
instead.

This means that it's possible to open HelloThere for editting, and then
change the "type" field to "image/jpeg", and the textarea automatically
switches to a blank bitmap. Next up is making it possible to change the
size of the bitmap.
2013-06-05 15:47:44 +01:00
Jeremy Ruston
c0a26d2849 Ensure that the edit widget refreshes whenever the editor type changes 2013-06-05 15:38:29 +01:00
Jeremy Ruston
131874e154 Fix typo 2013-06-05 15:38:06 +01:00
Jeremy Ruston
e925f1c3dd Adjust fields widget to sort fields
Making it easier to track .tid files under source code control
2013-06-05 14:12:52 +01:00
Jeremy Ruston
1f21bd36d6 Fix problem with displaying modals before the page container is initialised 2013-06-04 16:22:37 +01:00
Jeremy Ruston
854a9d6d1c Toggle a style on the page container when a modal is displayed 2013-06-04 16:19:47 +01:00
Jeremy Ruston
348a6976b7 Add fieldmangler widget that allows fields to be added and removed to tiddlers 2013-06-04 12:02:37 +01:00
Jeremy Ruston
ab75dde048 Update transclude widget to flag events with the current field 2013-06-04 12:02:18 +01:00
Jeremy Ruston
7a080b7aac Update class for fieldlist widget 2013-06-04 12:01:40 +01:00
Jeremy Ruston
fb76ee5606 Fix problem that was stopping buttons being able to set tiddlers to the empty string 2013-06-04 12:01:28 +01:00
Jeremy Ruston
538d12e017 Add the fieldlist widget
Allows us to render a sequence of fields
2013-06-02 23:20:43 +01:00
Jeremy Ruston
938124ca37 Extend the info widget to return the current field 2013-06-02 23:20:24 +01:00
Jeremy Ruston
6f3f4528c9 Make the edit and view widgets default to the current field 2013-06-02 23:20:08 +01:00
Jeremy Ruston
d5b0a0fb68 Extend the transclude widget to allow a currentField to be set
We set the current field as a context variable for the transcluded
content
2013-06-02 23:19:50 +01:00
Jeremy Ruston
456d50b6ef Make the setstyle widget refresh itself properly
This will allow us to dynamically change the colour of tags
2013-06-02 23:18:54 +01:00
Jeremy Ruston
f743e09e7a Corrected typo 2013-06-02 23:17:53 +01:00
Jeremy Ruston
bf4216f3ac Don't count references to shadow tiddlers as missing tiddlers 2013-05-31 17:53:11 +01:00
Jeremy Ruston
b0d183070c Don't allow < and > in external links 2013-05-31 17:42:40 +01:00
Jeremy Ruston
28b0b58a11 Make a distinction between templates and UI
Templates are the low-level bits and pieces that allow TW5 to generate
HTML and CSS renderings of tiddlers. The UI folder contains the
user-visible UI of TW5
2013-05-31 15:38:27 +01:00
Jeremy Ruston
d27cb19e22 Update titles of certain widgets that were misspelled 2013-05-31 13:23:25 +01:00
Jeremy Ruston
a8b1da33de Improvements to slide animation 2013-05-28 16:47:16 +01:00
Jeremy Ruston
5cdcadd8b2 Make the reveal widget use the new animator mechanism 2013-05-28 16:28:38 +01:00
Jeremy Ruston
227cadd326 Add a barebones animation framework
The idea is to allow us to package animations/transitions into plugins
2013-05-28 16:28:16 +01:00
Jeremy Ruston
cf75b209ba Add eachday and sameday filter operators
These operators will enable us to group the recent changes list by day
2013-05-27 17:59:33 +01:00
Jeremy Ruston
ca51634041 Add the each filter operator
This makes it possible to do grouping within lists
2013-05-27 17:59:03 +01:00
Jeremy Ruston
887d955fc4 Change the search filter operator to not indirect through a tiddler
Now that we can make any filter operator indirect through a tiddler we
don't need to have that as a special capability of the search operator.
2013-05-27 17:58:27 +01:00
Jeremy Ruston
f4a3b25d3e Extend the filter mechanism to allow operands to be indirected through a tiddler text reference
In other words, as well as `[sort[myfield]]` to sort by the field
called `myfield`, one can do `[sort{MyTiddler}]` to sort by the field
whose name is in the text of the tiddler `MyTiddler`.
2013-05-27 17:57:37 +01:00
Jeremy Ruston
9193937125 Fixed problem with field filter operator not performing string comparisons 2013-05-27 17:55:45 +01:00
Jeremy Ruston
31a4b96f57 Fixed problem with getTextReference() not always returning a string 2013-05-27 17:55:23 +01:00
Jeremy Ruston
0cf5dc699e Refactor the filter mechanism
Long overdue rewrite to make it simpler, and break the filter operators
out into individual modules.
2013-05-25 17:26:22 +01:00
Jeremy Ruston
5394fc4ee1 Fix typo 2013-05-25 16:40:44 +01:00
Jeremy Ruston
d19affc9c3 Fix problem with non-shadow stylesheets not being recognised at startup 2013-05-25 16:40:34 +01:00
Jeremy Ruston
1e5842dc1c Fix download saver on Firefox
Turns out that Firefox needs the link to be in the document before it
will honour the click on it.
2013-05-23 11:26:47 +01:00
Jeremy Ruston
4ad6f05010 Fix issue with scrolling while editting long tiddlers in Firefox 2013-05-21 17:54:10 +01:00
Jeremy Ruston
d3fa781287 Switch to using a slider for tiddler info 2013-05-19 12:11:18 +01:00
Jeremy Ruston
96462de2f5 Fix problem with not encoding body of non-base64 data URIs 2013-05-18 16:59:53 +01:00
Jeremy Ruston
3806168038 Fixed problem with non-shadow style tiddlers not being recognised 2013-05-18 16:59:24 +01:00
Jeremy Ruston
d8abc0e9e3 Fix up more document references 2013-05-17 17:37:39 +01:00
Jeremy Ruston
5abc0a7835 Get rid of the obsolete font parser 2013-05-17 17:30:33 +01:00
Jeremy Ruston
f3bcc1c0af Add a datauri widget
Used in stylesheets to get a data URI for a font or bitmap
2013-05-17 17:30:03 +01:00
Jeremy Ruston
6e1cd46bc7 Fix document references 2013-05-17 17:29:43 +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
07d4c9a639 A slightly better fix for the render context inheritance issue with the htmlwikified viewer for the view widget 2013-05-15 22:15:57 +01:00
Jeremy Ruston
98986ba9cc Fix problem with render context not inherited into htmlwikified view widgets 2013-05-15 21:33:40 +01:00
Jeremy Ruston
0a3389c277 Add namespace support to the element renderer
This allows us to create SVG elements with the correct namespace, which
allows us to have inline SVG images (coming up next)
2013-05-15 18:44:23 +01:00
Jeremy Ruston
dd2a7199f6 Allow a default value to be specified for WikiRenderTree.getContextVariable 2013-05-15 18:43:19 +01:00
Jeremy Ruston
8564602256 Refactor rendertree to simplify context handling
Get rid of the separate renderContext stack and instead have a parent
pointer on renderer nodes. This lets us walk back up the render tree to
resolve context references
2013-05-15 17:32:17 +01:00
Jeremy Ruston
c0683fd65c Added a saver for the TWEdit iPad/iPhone app 2013-05-14 20:20:48 +01:00
Jeremy Ruston
6864251962 Cleaning up content types
Dealt with some inconsistencies
2013-05-13 17:42:07 +01:00
Jeremy Ruston
15d1abf523 Fix problem with context-menu paste not triggering saving of edits
We'll use the input event to detect changes, which is reliable but
doesn't work on older browsers
2013-05-11 10:03:11 +01:00
Jeremy Ruston
f43e22f8e5 Remove early bail on switching to a non-existent theme
Fixes #98

The excised code was unnecessary, as the rest of the function operates
correctly even if the theme tiddler is missing
2013-05-10 20:24:40 +01:00
Jeremy Ruston
6e44a20804 Fix problem with TiddlyFox on Windows
Fix #97
2013-05-10 18:14:01 +01:00
Jeremy Ruston
abcf7df875 Adjust bitmap editor to draw with a yellow pen
For highlighting
2013-05-08 15:11:53 +01:00
Jeremy Ruston
8796f312cb A different animation for hiding notifications
Only slightly different, but it seems to add visual interest
2013-05-08 13:27:04 +01:00
Jeremy Ruston
e501c0ec2a Enhance TiddlyFox saver to display a notification on success 2013-05-07 18:09:15 +01:00
Jeremy Ruston
24db38c06b Add simple notification mechanism 2013-05-07 18:08:44 +01:00
Jeremy Ruston
ed5f88ab84 Fix problem with importing TW files 2013-05-03 19:19:01 +01:00
Jeremy Ruston
1696daf2bf More explanation of the linkcatcher widget
Prompted by @pmaro
2013-05-01 16:11:52 +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
aa7b9441fd Add a linkcatcher widget
It intercepts navigation events and saves the target tiddler title into
a specified text reference
2013-05-01 12:02:33 +01:00
Jeremy Ruston
c373fea350 Ensure themes get initialised on the server as well as the browser
To make sure that static site generation has access to the theme shadow
tiddlers
2013-04-30 23:04:15 +01:00
Jeremy Ruston
523d70127b Allow themes to be switched by changing the tiddler $:/theme 2013-04-30 22:57:10 +01:00
Jeremy Ruston
e875de63a9 Ignore shadow tiddlers in the syncer 2013-04-30 22:55:06 +01:00
Jeremy Ruston
a54a7806d5 Remove redefinition of Tiddler.hasField() and added Tiddler.isPlugin()
hasField() was already being defined in boot.js
2013-04-30 22:37:02 +01:00
Jeremy Ruston
e12fbf0f9f Comment clarification 2013-04-30 22:35:52 +01:00
Jeremy Ruston
594871e2d1 Fix for the link macro to work around iPhone annoyance
This prevents Mobile Safari from sliding the address bar into view
whenever a tiddler link is clicked
2013-04-29 16:03:35 +01:00
Jeremy Ruston
152fb798eb Start responding to dynamic stylesheet changes
This mechanism will only be triggered by changes to the stylesheet
tiddlers themselves, and not to any dependencies that they might have.
It'll stay that way for a while.

The next thing is making the theme manager actually switch themes,
forcing the right wiki change events to make the stylesheet manager
update itself
2013-04-29 12:07:39 +01:00
Jeremy Ruston
c3e14a85a6 Give tiddlers a hasField() method 2013-04-29 12:05:58 +01:00
Jeremy Ruston
17cfd57390 Start making themes switchable
Separately switch in ordinary plugins and themes. Change the convention
for plugin information to use dashes rather than camel case.
2013-04-28 22:52:26 +01:00
Jeremy Ruston
996a7279ed Switch to using tags to identify stylesheets
Using module-type was confusing, because we weren't actually using the
module infrastructure for stylesheet processing.
2013-04-28 18:13:57 +01:00
Jeremy Ruston
b305debf97 Add a close all tiddlers button
For @pmario
2013-04-27 16:35:59 +01:00
Jeremy Ruston
059a36b23d Animate tiddler closures to the left
As @pmario points out, avoids nasty interactions with the sidebar
2013-04-27 16:24:41 +01:00
Jeremy Ruston
f487ea68d1 Store the parser list in the wiki constructor 2013-04-25 17:40:12 +01:00
Jeremy Ruston
e42a062dcc Fixed bug with negated title filter 2013-04-25 10:03:37 +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
94287c9ac3 Tidying up drag and drop 2013-04-10 16:55:25 +01:00
Jeremy Ruston
e39d246317 Added basic support for drag and drop of tiddlers
Links are now draggable. Dragging outside the browser will drop the
wiki text of the tiddler. Dragging to another TW5 browser window will
drop the entire tiddler, including fields.
2013-04-08 18:47:46 +01:00
Jeremy Ruston
45ee2b3048 Fix bug that was preventing pasting into edit textareas or input boxes 2013-04-05 13:57:55 +01:00
Jeremy Ruston
b69f87484d Remove extraneous debugging code 2013-04-04 14:24: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
dc00e584fb Add support for filtering shadow tiddlers 2013-04-03 14:29:12 +01:00
Jeremy Ruston
6c210df0bd Update HTML deserializer to cope with TiddlyWiki classic and TW5 files 2013-04-03 12:57:17 +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
a17e3588a6 Fix problem triggered by stale history list 2013-04-02 09:28:48 +01:00
Jeremy Ruston
c287d9d6d0 First pass at a widget for importing tiddlers 2013-04-01 19:06:39 +01:00
Jeremy Ruston
d99db91dd5 Fixed attribute assignment 2013-03-28 21:47:51 +00:00
Jeremy Ruston
0f0a96c4da Update list widget to transclude block vs. inline correctly 2013-03-28 21:29:42 +00:00
Jeremy Ruston
abf3673fc9 Update texteditor to respect prevailing classes and styles 2013-03-28 21:29:20 +00:00
Jeremy Ruston
cd36f594c5 Make the core into a plugin 2013-03-28 17:07:30 +00:00
Jeremy Ruston
54d858a371 Improved default logic for the reveal widget 2013-03-27 13:48:39 +00:00
Jeremy Ruston
e88db07085 Fixed problem with ignored default in wiki.getTiddlerText() 2013-03-27 13:48:17 +00:00
Jeremy Ruston
b6345a9223 Remove logging from the server command
We really need to update the logging infrastructure
2013-03-25 20:19:36 +00:00
Jeremy Ruston
f427339a78 Add renderContext parameter to wiki.renderTiddler 2013-03-25 10:42:14 +00:00
Jeremy Ruston
70def07d63 Clearer logging preparatory to implementing file synchronisation 2013-03-24 12:53:09 +00:00
Jeremy Ruston
2870a09dc1 Make some of the sync adaptor methods be optional 2013-03-24 12:27:46 +00:00
Jeremy Ruston
638ed6429c Show affected filepaths on the server
Preparatory to doing file sync on the server
2013-03-23 22:43:39 +00:00
Jeremy Ruston
4848a21c6b Add GettingStarted tiddler for empty TiddlyWikis 2013-03-21 22:21:34 +00:00
Jeremy Ruston
6f88a57a41 Add wiki.countTiddlers() method 2013-03-21 22:21:00 +00:00
Jeremy Ruston
738952029b Icons for editing tiddlers 2013-03-20 17:20:46 +00:00
Jeremy Ruston
0d2ac57ff7 Make static links to tiddlers with spaces work
A bit of a hack - the savetiddlers command should generate filenames
better
2013-03-20 11:02:06 +00:00
Jeremy Ruston
cbf2e9add9 Add fieldgrid in tiddler info dropdown 2013-03-19 22:39:24 +00:00
Jeremy Ruston
d4ada346dd The list widget should parse the empty message as inline text 2013-03-19 22:39:04 +00:00
Jeremy Ruston
2aff4db744 Fix relative date viewer so that it displays absolute dates in static HTML representations 2013-03-19 19:06:23 +00:00
Jeremy Ruston
ec83bc5c64 Bring back the relativedate viewer 2013-03-19 18:59:13 +00:00
Jeremy Ruston
dbfbad3dd3 Let view widget viewers get postRenderInDom() callbacks 2013-03-19 18:59:00 +00:00
Jeremy Ruston
28707edd72 Decode paths for TiddlyFox 2013-03-19 18:36:27 +00: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
952f1b3900 Add tiddler info dropdown
Including backlinks
2013-03-19 16:45:07 +00:00
Jeremy Ruston
069bb624e5 Fix popup removal 2013-03-19 16:44:32 +00:00
Jeremy Ruston
7cb65a3816 Add 'missing' and 'orphan' tabs 2013-03-19 10:14:44 +00:00
Jeremy Ruston
a1260dc57d Basic first implementation of tabs for the sidebar 2013-03-18 22:18:54 +00:00
Jeremy Ruston
4af8026e28 Fix savetiddlers command to create files with special characters in the name 2013-03-18 22:16:01 +00:00
Jeremy Ruston
5b6376a386 Better titles for drafts of new tiddlers 2013-03-18 10:59:47 +00:00
Jeremy Ruston
5e12868e76 Fixes to ensure revision field is always a string
TiddlyWeb returns it as a number, which seems like it might be an
accident.
2013-03-18 10:13:36 +00:00
Jeremy Ruston
d14c61ef45 Switch "userName" to "username"
Because the former is naff
2013-03-17 19:37:31 +00:00
Jeremy Ruston
822f436534 Fix revision handling 2013-03-17 19:26:13 +00:00
Jeremy Ruston
d19fa16ca6 Fix inclusion of revision field when getting a tiddler 2013-03-17 19:25:59 +00:00
Jeremy Ruston
2624fed4f1 Get rid of the support for old-style syncers 2013-03-17 18:45:22 +00:00
Jeremy Ruston
210f596d0c Marginally improve the elegance of the simple HTTP server 2013-03-17 17:57:46 +00:00
Jeremy Ruston
dbde2bf23b Started refactoring TiddlyWeb syncer into generic syncer + TiddlyWeb adaptor
The refactored plugin is `tiddlyweb2` for the moment. The idea is to be
able to use the same syncer with a different adaptor for syncing
changes to the local file system.
2013-03-17 15:28:49 +00:00
Jeremy Ruston
8e6ce3733d Use "self" rather than "me" for consistency 2013-03-17 15:06:09 +00:00
Jeremy Ruston
17a9cdd1e3 Remove initSyncers() from wiki.js 2013-03-16 11:06:44 +00:00
Jeremy Ruston
71aa79013d Remove invokeSyncers() method from wiki.js 2013-03-16 10:58:47 +00:00
Jeremy Ruston
854e8d7083 Use the wiki event mechanism to dispatch lazyLoad notifications to syncers
We're trying to get to the point where wiki.js doesn't know about
syncers
2013-03-16 10:50:36 +00:00
Jeremy Ruston
c3b57507b0 Refactored wiki event mechanism to support multiple event types 2013-03-16 10:42:46 +00:00
Jeremy Ruston
623a3ec8f8 Rename "shadow" tiddlers to "system" tiddlers
What we have at the moment isn't really the same as TiddlyWiki
classic's shadow tiddlers, it's a much simpler system for excluding
tiddlers. We'll use the term "shadow" instead to refer to the way that
tiddlers in plugins behave, which is exactly like TiddlyWiki classic's
shadow tiddlers.
2013-03-15 22:00:19 +00:00
Jeremy Ruston
e5443e27cb Minor tweaks to getTiddlers 2013-03-15 20:02:31 +00:00
Jeremy Ruston
71ecb022ef Update TiddlyWeb support
Lots of changes:
* Make the built-in server support recipes and bags, albeit there's
just one of each, called "default"
* Correctly parse returned Etag to get bag of freshly PUT tiddlers
* URI encoding for tiddler titles, so that tiddlers with slashes and so
on work OK
2013-03-12 19:18:56 +00:00
Jeremy Ruston
7e57c422dc Re-introduce video widget 2013-03-12 19:17:13 +00:00
Jeremy Ruston
6b78352764 Fixed handling of deleting tiddlers over HTTP 2013-03-11 10:04:44 +00:00
Jeremy Ruston
ab8fc26ba1 Update server command to be compatible with the TiddlyWeb syncer
Now TW5 in the browser can use the TiddlyWeb syncer to talk to TW5 on
the server
2013-03-10 19:28:24 +00:00
Jeremy Ruston
00ad0bc7a9 Docs update 2013-03-10 19:27:44 +00:00
Jeremy Ruston
fc33df8829 Add support for deleting tiddlers 2013-03-10 19:24:49 +00:00
Jeremy Ruston
21cb1e233e Add "info" widget for displaying information about tiddlers
Currently only supports displaying the changecount of a tiddler
2013-03-10 19:24:22 +00:00
Jeremy Ruston
83a141752c Further simplifications to syncer interface
Dropped the idea of exposing separate server connections
2013-03-09 09:54:01 +00:00
Jeremy Ruston
3da508b7c4 Simplify syncer interface 2013-03-08 20:29:13 +00:00