1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-15 22:34:51 +00:00
Commit Graph

1592 Commits

Author SHA1 Message Date
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
Jermolene
1f16ef6fa8 Add support for permalink and permaview 2014-07-24 15:49:09 +01:00
Jermolene
eecb9126cd Fix checkbox widget to work with missing tiddlers 2014-07-24 15:43:37 +01:00
Jermolene
fd82112700 Sort out info mechanism docs
Some of it belongs in the browser-sniff plugin

Also add a `$:/info/node` info tiddler.
2014-07-22 15:16:18 +01:00
Jermolene
3d8626dafa Move browser sniffing into a plugin 2014-07-21 13:17:16 +01:00
Jermolene
b4d47858e5 Introduce info mechanism
We expose browser information as shadow tiddlers so that wiki
applications can adapt to available features.
2014-07-20 18:07:30 +01:00
Jermolene
9ddff6d8c0 Move startup.js into the startup folder
Neater.
2014-07-20 18:06:33 +01:00
Jermolene
0cf63ab9f0 Add theme tweaks upgrader 2014-07-18 20:00:05 +01:00
Jermolene
f793816dfa Add subtiddler support to the transclude widget
Useful to be able to reach into plugins. It will enable us to do things
like extract readmes from themes that are not active.
2014-07-17 18:41:20 +01:00
Jermolene
89989c737e Fix bug with import tiddler handling 2014-07-17 15:02:42 +01:00
Jermolene
e40a0c07b8 Fix support for upgrading encrypted wikis
Importing an encrypted wiki ordinarily doesn’t place the password in
the password vault on the basis that one ought to be able to import
from a file without automatically inheriting its password.

Now there’s a configuration option that can be used by the upgrade
plugin to cause the password vault to be updated with any password
entered by the user. The end result is that the user only needs to
enter their password once.
2014-07-16 10:06:24 +01:00
Jermolene
c92a21ff14 Remove extraneous debugger statement 2014-07-14 21:51:56 +01:00
Jermolene
c0edca78c8 Beginning of one-shot UI for upgrade.html 2014-07-14 14:53:21 +01:00
Jermolene
5a23c883e2 More defensive checks
We’ve had a few bugs with the symptom of ‘text’ being undefined.
2014-07-14 14:52:00 +01:00
Jermolene
7998686cb3 Fix typo affecting transclusion recursion detection 2014-07-14 14:50:46 +01:00
Jermolene
1f6e16318a First pass at upgrade mechanism 2014-07-12 09:09:36 +01:00
Jermolene
f08f57c5d2 Extend checkbox widget to toggle fields 2014-07-12 09:09:13 +01:00
Jermolene
4743d0a863 Fix transclusion recursion detection
We were inadvertantly doing the recursion check before we were checking
if the transclusion target exists.
2014-07-12 09:08:52 +01:00
Jermolene
9de679b84b Fix tiddler widget to refresh properly
Previously wasn’t refreshing for changes to the tiddler that it refers
to
2014-07-12 09:08:20 +01:00
Jermolene
811df7bbf0 Refactor animation easings 2014-07-08 10:07:17 +01:00
Jermolene
3351ae7e29 Fix issue with localStorage error on Firefox
Firefox raises an error if window.localStorage is accessed when cookies
are disabled:

https://bugzilla.mozilla.org/show_bug.cgi?id=771890
2014-07-06 10:11:21 +01:00
Jermolene
465f4ac469 Fix problem with refreshing modal dialogues
Previously any refreshing of the content of a modal would cause a
crash. The problem is the way that we steal the root widget for the
render trees used in the modal. The root widget is tied to the
container DOM node for the main content area, which isn’t actually a
parent of the modal DOM nodes, hence the confusion for the refresh
mechanism.
2014-07-04 21:07:35 +01:00
Jermolene
c9d4714e98 Extend makeTranscludeWidget
Add support for specifying the filename, and the fallback content
within the transclude widget that is used if the transclusion target
isn’t found
2014-07-04 21:03:11 +01:00
Jermolene
5b3b62f93d Fix bug handling of build command
We were taking the commands expanded from the build targets and placing
them at the end of the queue. That caused a problem whereby the
prevailing output folder was always the last one in the command token
list.

Now we splice the new commands into the command token list at the
current position.
2014-06-24 12:09:10 +01:00
Jermolene
6f3e31abe5 Fixed problems with detecting changes to draft tiddlers 2014-06-23 23:28:22 +01:00
Jermolene
6d1eaeb0fc Fix detection of draft changes
We were getting a lot of problems where changes to a tiddler were not
being recognised
2014-06-23 08:10:32 +01:00
Jermolene
680fe41ed7 Add isEqual() method to tiddlers 2014-06-23 08:09:59 +01:00
Jermolene
32a1da7673 Fixed problem with pasted items lacking a type 2014-06-22 11:58:00 +01:00
Jermolene
9987e6de22 Fix problem with overwriting existing tiddlers 2014-06-22 11:45:00 +01:00
buggyj
0206358a1c added missing regex update for triple double-quotes macro params 2014-06-19 19:17:26 +02:00
Jeremy Ruston
0c48502e8e Merge pull request #660 from buggyj/jsonparams
added triple double-quotes delimiters for marco/widget parameters (to su...
2014-06-19 12:06:00 +01: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
a9b7df96c2 Add support for TIDDLYWIKI_EDITION_PATH 2014-06-17 21:59:20 +01:00
Jermolene
06b0f9adb7 Added aria-label attribute to link widget
And document it for the button widget
2014-06-17 07:54:10 +01:00
Jermolene
eeedcb6d94 First pass at accessibility improvements for #650 2014-06-14 18:06:56 +01:00
Jermolene
f09d69d1b7 Remove debugging code 2014-06-13 14:44:43 +01:00
Jermolene
eee3a0cf8e Extend server command to allow a path prefix
Thereby making the number of parameters to the command ludicrous
2014-06-13 14:44:34 +01:00
Jermolene
4238af2a40 Extend listed filter operator to use any field 2014-06-13 10:58:19 +01:00
Jermolene
9ab0c84140 Support global macros via the importvariables widget
The new importvariables widget imports macro/variable definitions from
the specified tiddlers and makes them available to its children.

Allows us to split PageMacros up into separate tiddlers.

We still support loading macros from $:/core/ui/PageMacros to help
people upgrading.

Fixes #644 and #559
2014-06-12 18:01:33 +01: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
d2796d0c9c Introduce setfield command
This new command will let us do the manipulations needed to set up
external image tiddlers
2014-06-11 10:05:35 +01:00
Jermolene
a03a15e7de Allow the text widget to refresh if needed 2014-06-10 19:32:55 +01:00
Jermolene
305617b632 Introduce savetiddlers command
Allows us to save tiddlers in their raw format.
2014-06-09 14:45:41 +01:00
Jermolene
247eb04b11 Extraneous semi-colon 2014-05-31 19:18:01 +01:00
Jermolene
3182a2d599 Add first pass at select widget 2014-05-31 18:37:43 +01:00
Jermolene
f999b2e931 Add wiki.setText() method 2014-05-31 18:37:27 +01:00
Jermolene
a330cb543e Better defaults for radio widget
Now the “field” attribute defaults to “text”.
2014-05-31 18:35:41 +01:00
Jermolene
3f25db0abe More permalink tweaks
And more documentation this time!
2014-05-29 23:17:21 +01:00
Jermolene
412cde6f53 Move "storyviews" filter operator to correct folder 2014-05-28 17:17:47 +01:00
Jermolene
f7b8813a27 Change permalink behaviour
Now a link to a single tiddler like http://tiddlywiki.com/#HelloThere
will just open that single tiddler (the old behaviour was to also open
the default tiddlers)
2014-05-28 17:07:41 +01:00
Jermolene
da273be054 Workaround Firefox "no element found" bug
See https://bugzilla.mozilla.org/show_bug.cgi?id=884693

Fixes #468
2014-05-27 09:49:48 +01:00
Jermolene
9aaa000d3f Fixed default tiddler not appearing in zoomin view
See https://groups.google.com/d/topic/tiddlywiki/c-z7f-h1CAo/discussion
2014-05-26 22:56:28 +01:00
Jermolene
f44f2b33ed Fixed missing class on external pretty links 2014-05-26 17:57:35 +01:00
Jermolene
86d182fd51 Fix importing blank fields from TiddlyWiki files 2014-05-26 17:47:07 +01:00
Jermolene
31e1088aa7 Clean up startup logging
Now we do boot logging to an array. We harvest it in the —verbose
command. We still need to provide a way to access the log in the
browser too.
2014-05-15 18:50:14 +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
9a26c4259a Fix problem with widget.getStateQualifier()
Fixed to take into account the recent change to read variables from the
parent widget: e60fc9f81f
2014-05-13 18:16:45 +01:00
Jermolene
ad43958571 Make permalink behaviour configurable
In the process introducing a new advanced settings tab

Fixes #600
2014-05-13 14:16:58 +01:00
Jermolene
75fee26b58 Fix problem with variables containing an empty string
See
https://github.com/Jermolene/TiddlyWiki5/commit/e60fc9f81f2c8f0d115543d8
d330a1d68f9b890a#commitcomment-6301921
2014-05-13 10:15:55 +01:00
Jermolene
e83759e86d Add "before" and "after" filter operators
Fixes #357 by adding new “before” and “after” filter operators.
2014-05-12 15:16:44 +01:00
Jermolene
e60fc9f81f Fixed problem with widgets variable access
Previously, widgets were reading variables from themselves or their
cascaded ancestors. That means that if a widget sets a variable and
then reads the same variable, it will get the same variable back. That
sounds reasonable, until you consider a widget that wants to modify a
variable - eg the tiddler macro. For example:

```
<$tiddler tiddler={{!!report}}>
<$transclude mode="block" />
</$tiddler>
```

Here we first evaluate the `{{!!report}}` reference, which involves
reading the currentTiddler variable, looking up the tiddler, and
retrieving it’s `report` field. The next the tiddler widget is
refreshed, it will use the newly set currentTiddler as the basis for
resolving the `{{!!reference}}` reference.

The fix is to get variables from ancestors, but continue to set them on
ourselves.
2014-05-08 11:51:02 +01:00
Jermolene
6ab68e0fca Remove erroneous global wiki references
$tw.wiki is used as a global reference in the outer initialisation
modules. It shouldn’t be used in widgets etc.
2014-05-07 14:49:14 +01:00
Jermolene
e548dd35af Restored drag and drop functionality within TEXTAREAs and INPUTs
As mentioned by @Skeeve in #592
2014-05-07 14:32:14 +01:00
Jermolene
e676156b24 Fixes for running TiddlyWiki on node-webkit
See Jermolene/TiddlyWiki5NodeWebkit
2014-05-07 09:59:21 +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
7c8c5cf745 Fix problem with parsing main UI boot tiddlers
We were parsing the boot tiddlers, making them into a widget and then
refreshing the widget tree. The problem is that subsequent chances to
the boot tiddlers themselves wouldn’t be picked up as part of the
refresh.

Now we indirectly parse those UI boot tiddlers through a transclusion,
which does get refreshed in the desired way.
2014-05-06 10:14:22 +01:00
Jermolene
b84c663215 Add proper rendering of document title 2014-05-05 23:00:09 +01:00
Jermolene
4e101e240c Suppress history when changing the permalink URL 2014-05-05 21:51:54 +01:00
Jermolene
56251dc1f8 Fixes #598
Ensure we don’t generate permalinks with a target that is not in the
current story
2014-05-05 21:23:29 +01:00
Jermolene
f368175cb0 Remove debugging code 2014-05-05 20:58:47 +01:00
Jermolene
986a20b22b Fixes for permalinks not working on Firefox
Sigh. It’s frustrating that the few browser differences I’m running
into in 2014 are mostly horribly familiar from 2005
2014-05-05 19:21:57 +01:00
Jermolene
ffb6c8ab81 Add hex colours to tag manager
Fixes #597
2014-05-05 18:42:25 +01:00
Jermolene
b24ec8009d Missing dependency 2014-05-05 17:06:24 +01:00
Jermolene
9965c64b6f More refactoring of startup.js 2014-05-05 15:25:51 +01:00
Jermolene
2a50277219 Fix problem with syncer not being initialised on server 2014-05-05 14:44:32 +01:00
Jermolene
3cce12e13f More refactoring of startup.js 2014-05-05 14:41:46 +01:00
Jermolene
887e9d978b Fix problem with saving if URL contains # 2014-05-05 13:30:31 +01:00
Jermolene
a0022a1cd6 Refactoring more of startup.js into modules 2014-05-05 10:17:50 +01:00
Jermolene
519e1b4a44 Pull more of startup.js out into separate modules 2014-05-03 21:23:51 +01:00
Jermolene
b9dec37fb7 Split main rendering into it's own startup module 2014-05-03 19:50:05 +01:00
Jermolene
78ba57d55d Remove support for browser-startup modules
Instead support startup modules that stipulate which platform they
require.

Also include docs updates and fixes to fullscreen plugin
2014-05-03 17:49:20 +01:00
Jermolene
749582ede0 Split module loading into a separate startup task
Still a work in progress.
2014-05-03 17:10:55 +01:00
Jermolene
b96aade28a WIP: Add support for dependencies between startup modules
See StartupMechanism for details.
2014-05-03 16:32:18 +01:00
Jermolene
6ccf02ed96 Add support for onhashchange
Now we respond dynamically to changes in the location hash in the URL
bar. It means that you can do links in HTML as `<a
href=“#HelloThere”>go</a>` and in Markdown as `[example
link](#HelloThere).`

We still need to make startup.js more modular
2014-05-03 12:20:28 +01:00
Jermolene
b2c1331c11 Fix oversight in isDraftModified
If the original tiddler doesn’t exist then we should count the draft as
always having been modified
2014-05-03 12:12:07 +01:00
Jermolene
a5e9ef9b5f Adopt new URL scheme for permalinks
Instead of using `%00` as a separator we do the more conventional
`#!<target-title>:<story filter>`.
2014-05-03 11:32:55 +01:00
Jermolene
327b53a641 Start adding support for permalinks
At this point we respect any permalink at startup, but we don’t yet
dynamically update the permalink, nor do we respond to ongoing
permalink changes.

The permalink separator being `%00` seems like it might be a bit
controversial. It buys us not having to wrap tiddler titles in double
square brackets if they contain spaces.

Another thing is that this scheme doesn’t support tiddler filters; the
plan is to support them like this:

http://tiddlywiki.com/#!Target%00%00[tag[task]sort[created]]
2014-05-02 19:21:32 +01:00
Jermolene
cb914ae853 Remove dead code typo 2014-05-02 18:07:47 +01:00
Jermolene
a4294b55f0 Add banner for binary tiddlers in edit mode
Makes it easier to add tags to a binary tiddler (eg a PDF).
2014-05-02 09:43:39 +01:00
Jermolene
bced7124e4 Accept single quotes for attributes in TW files 2014-05-01 17:58:49 +01:00
Jermolene
f5848c395a Fix problem with editing tiddler titles
The check whether a draft has been modified was ignoring changes to the
title.

Fixes #593
2014-05-01 17:39:37 +01:00
Jermolene
f6bd3b8c37 Optimise the all filter operator
Seems like quite a decent optimisation.
2014-04-30 22:50:47 +01:00
Jermolene
21b2d6fdc7 Allow filter operators to return an iterator
Previously filter operators were only permitted to return an array of
tiddler titles
2014-04-30 22:50:17 +01:00
Jermolene
fcb26419a6 Clear the tiddler event queue on startup
To avoid an unnecessary refresh cycle
2014-04-30 22:49:02 +01:00
Jermolene
a6f7da6c1c Suppress refresh cycle if no tiddlers have changed 2014-04-30 22:48:36 +01:00
Jermolene
0ac4c2b554 Allow digits in field names 2014-04-28 15:54:32 +01:00
Jermolene
84cd296c58 Minor tweaks to shadow warning infrastructure
1. Moved some methods out of boot.js because they are not needed until
after bootup
2. Added alternate message for editing an overridden shadow tiddler
3. Minor style tweaks
2014-04-28 15:16:31 +01:00
Jeremy Ruston
a90339d1e5 Merge pull request #586 from sukima/feature/issue-570-cancle-unchanged-drafts
Fix issue #570 Make it harder to accidentally modify a shadow tiddler
2014-04-28 13:22:44 +01:00
Devin Weaver
a505b6ffc0 Move isModified from Tiddler to Wiki
Replace this with a $tw.wiki.isModifiedTiddler(title) as part of the
wiki object. This allows it to be used outside of the current Wiki which
can change.
2014-04-27 17:15:42 -04:00
Devin Weaver
d0636f2124 Add a confirmation to edit a shadow tiddler
Should only display the confirmation if the shadow tiddler has not been
overridden in the first place. It checks this by looking for the
existence of a modified field for which the default system based shadow
do not have until a user changes them.

This addresses the second line item on issue #570

We will need new translations for the added string
`ConfirmEditShadowTiddler`
2014-04-27 17:15:42 -04:00
Devin Weaver
5226c7a2fa Prevent saving un-modified tiddlers
When saving a tiddler we check to see if the tiddler has changed
(isModified) if it hasn't then bounce the event to tw-cancel-tiddler
instead.

Addresses first line item in issue #570
2014-04-27 17:15:42 -04:00
Devin Weaver
8611867930 Remove dead code 💀 2014-04-27 17:15:41 -04:00
Jermolene
385c7e207c Refactor wiki.filterTiddlers()
Now we pass a widget instead of the current tiddler title. We can use
widget.getVariable(“currentTiddler”) to get the current tiddler.
2014-04-27 20:03:33 +01:00
Jermolene
570cad1c7f Add 'get' filter operator
Prompted by @sukima’s work on #586
2014-04-27 18:45:01 +01:00
Jermolene
e9557b578e Improve output directory handling
This change is likely to break most existing scripts that call
TiddlyWiki.

TL;DR - output paths are now relative to the editions/output folder,
rather than to the current folder

See [[Notes for upgrading to 5.0.11-beta]] for details.
2014-04-27 08:28:21 +01:00
Jermolene
f7e50e0950 Add --build command
First pass at the build system described in #356.

To test it, move to a new, empty directory and try `tiddlywiki
editions/tw5.com --verbose --build`
2014-04-25 22:41:59 +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
15d0c27e2a Add [is[tag]] filter operator 2014-04-18 17:57:55 +01:00
Jermolene
9fbe72a877 Rearrange system tag configuration
By rearranging the `[all[]]` operator we are able to ensure that shadow
tiddlers get processed before ordinary tiddlers. This makes it easier
to create custom stylesheets that override the core.
2014-04-18 09:28:14 +01:00
Jermolene
89165fc51d Fix problem with sorting date fields
Introduced a couple of commits ago when the localeCompare() stuff was
added.
2014-04-17 22:52:57 +01:00
Jermolene
4758874d13 Add path conversions from TiddlyWiki Classic
TiddlyWiki Classic converts local file URIs to various local native
formats. The same conversions are now performed by the TiddlyFox
adaptor for TW5.
2014-04-17 22:30:14 +01:00
Jermolene
bb42c0ab36 Use localCompare for sorting strings
So that accented characters get sorted correctly. Or at least as
correctly as browsers allow.
2014-04-17 20:15:52 +01:00
Jermolene
73cfd10218 Fix regression with untagged filter operator
Restored previous behaviour of considering a missing tiddler to be
untagged.
2014-04-17 16:10:50 +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
dad60cda05 Improve wiki.sortByList()
Previously list-before and list-after didn’t work if they referenced
entries that hadn’t yet been placed
2014-04-14 21:30:30 +01:00
Jermolene
4c648e7cdc Exclude more illegal characters from external links 2014-04-14 11:17:28 +01:00
Jermolene
0aa559cd23 Improve responsiveness during editting
Simple optimisation whereby we defer the main refresh cycle when only
draft tiddlers have been modified.

We defer for 400ms, and keep extending the delay at each fresh draft
modification. The effect is that if the user is using the preview then
they’ll need to pause typing for 400ms before the preview is updated.

Fixes #470, #454, and maybe #206.
2014-04-14 10:20:32 +01:00
Jermolene
28db76ddb3 Refactor page rendering into a separate function
Refactoring page rendering so that we can fix the performance issues
with editing drafts. The plan is to defer the refresh cycle if all the
changes are to draft tiddlers.

We need to do a bit more of this to get startup.js into better shape
(and more extensible).
2014-04-14 09:53:13 +01:00
Jermolene
e366aa3746 Use Date.now() instead of new Date()
Just for when what we actually want is a millisecond counter.

Interesting video about this:

https://www.youtube.com/watch?v=Vo72W1HWeFI
2014-04-14 09:02:52 +01:00
Jermolene
f1578d3409 Turn off instrumentation
All those console.log()s make editing very slow
2014-04-13 21:17:44 +01:00
Jermolene
93b9d16d6c Don't include pipe characters in URLs 2014-04-13 21:17:44 +01:00
Jermolene
be5f6f6700 Allow spaces in property names in text references 2014-04-12 17:14:09 +01:00
Jermolene
3afa26b9a3 Require confirmation before abandoning edits
Fixes #544
2014-04-12 14:15:49 +01:00
Jermolene
a3cf925e56 Add classes for the current theme and language
Add the classes to the tw-page-container DIV
2014-04-11 21:37:58 +01:00
Jermolene
ccf2cb36a1 Extend sameday operator to select field
Now the target field can be specified in the suffix:
`[sameday:created[20140808]]`
2014-04-10 20:19:12 +01:00
Jermolene
7a4a00f6ca Sort operator should default to title
Previously we were crashing if a sort field wasn’t specified
2014-04-10 19:56:21 +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
e5fe3f76ac Fix linkcatcher message sending
We need to send messages to the parent so that we don’t set up an
infinite loop by sending `tw-navigate` messages. Also we need to pass
along the target of the navigation.
2014-04-09 16:09:12 +01:00
Jeremy Ruston
9b52ca7cc0 Merge pull request #543 from welford/load-and-deserialize
Make deserializing a bit more robust
2014-04-09 11:51:16 +01:00
Jermolene
f9a274df85 Require confirmation for all tiddler deletions
Previously we only asked for confirmation when deleting a draft tiddler
2014-04-09 11:32:08 +01:00
James Welford Anderson
362df18a19 make deserializing a bit more robust
load.js references the encoding set in boot.js when loading a file.
boot.js can now register file type with different deserialization from
their actual type
2014-04-09 06:20:51 +09:00
Jermolene
426281539a Merge branch 'saner-filters' 2014-04-08 14:14:11 +01:00
Jermolene
3282bd948f Fix problem with search filter operator 2014-04-08 09:36:30 +01:00
Jermolene
1e960ffcac Fix problems with tiddlers called __proto__
Background:

http://www.2ality.com/2012/01/objects-as-maps.html
2014-04-06 22:43:10 +01:00
Jermolene
b51d851f93 Fix extraneous comma
Thanks to Danielo Rodríguez
2014-04-06 22:09:42 +01:00
Jermolene
4d91a7762e Optimise link widget
Handle the classes better, and stop using a default tooltip (parsing
the tooltip was a performance hog)
2014-04-05 17:37:58 +01:00
Jermolene
272a4bbe61 Filtering optimisations 2014-04-05 17:31:36 +01:00
Jermolene
b7f674c51a First pass at refactoring filter execution
This is the beginning of addressing #523.
2014-04-03 20:49:16 +01:00
Jermolene
d402d3c5a6 Add performance measurement features
This is an experimental module to help us measure the performance of
the refresh cycle and the filter mechanism. Not intended to replace the
performance measurement features in browser developer tools, just to
make it easier to automate performance checks cross-browser.

The immediate purpose is to help in refactoring the filter mechanism.
The recent change to encapsulate the wiki store “tiddlers” object has
hurt the performance of filters, and it’s going to be helpful to have
decent measurements while refactoring that code.

I’m still not convinced that this stuff should be in the core, and may
well end up removing it after the present refactoring cycle.
2014-04-01 08:33:36 +01:00
Jermolene
dcce487934 Add support for platform dependent high resolution performance timers
For profiling filter performance
2014-03-31 18:42:30 +01:00
Jermolene
c3e24c1228 Trim spaces from new field and tag names
Fixes #517
2014-03-31 17:59:28 +01:00
Jermolene
6307293469 Fix some Node.js cross-platform compatibility issues
Thanks to http://shapeshed.com/writing-cross-platform-node/

Surprising that file path format is pretty much the only issue.
2014-03-31 17:17:36 +01:00
Jeremy Ruston
0d0679de1b Merge pull request #514 from Skeeve/patch-6
Show site title when logging in
2014-03-31 12:59:15 +01:00
Jermolene
09214d1c33 Fix problem with --load command overwriting $:/core
Now we use the `wiki.importTiddler()` method - it rejects attempts to
load older versions of loaded plugins
2014-03-31 12:46:10 +01:00
Jermolene
914a536d82 Correct relative date handling of t=1s
We were incorrectly displaying “1 seconds ago”
2014-03-31 12:41:54 +01:00
Jermolene
5a085f7927 Add basic CSV parser 2014-03-31 12:41:02 +01:00
Skeeve
0595619d39 Show site title when logging in
I have several TW5 servers running on the same host and think it would be good, would the password prompt display the $:/SiteTitle
2014-03-31 08:58:13 +02:00
Jermolene
bca1d55280 Add validation of legal characters for fieldnames 2014-03-26 13:38:43 +00:00
Jermolene
79d643775d Fix scrollable widget not to crash on the server 2014-03-25 14:37:33 +00:00
Jermolene
d3e178becc Add scrollable widget
A new widget to handle scrollable areas. We’ll use it both for the
story river and the sidebar.
2014-03-25 14:26:54 +00:00
Jermolene
535837e017 Use client bounding rect rather than offset positions for computing scroll positions 2014-03-24 22:31:03 +00:00
Jermolene
20f6383528 Add storyviews list filter and use it in view switcher 2014-03-24 22:17:45 +00:00
Jermolene
3ce2159a95 Missing semicolon 2014-03-24 21:35:48 +00:00
Jeremy Ruston
4badabce4b Merge pull request #496 from buggyj/syncer
syncer freeze fix
2014-03-20 20:58:50 +00:00
Jermolene
178cfb1084 Make more core strings be translateable
Now we’re translating strings that occur in JavaScript modules.

Partially fixing #491
2014-03-20 20:55:59 +00:00
buggyj
aa63151815 syncer freeze fix 2014-03-19 20:20:54 +05:30
Jermolene
ba6edd42c1 Explicitly blacklist unsafe elements, starting with <script>
Are there are any other elements that might be considered unsafe?
2014-03-19 10:05:44 +00:00
Jermolene
925b3d2a5b Fix typo 2014-03-18 21:18:46 +00:00
Jermolene
b8d0fd059b Fix bug with plugintiddlers filter operator 2014-03-18 21:18:45 +00: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
06500e5f71 New error message text for recursive transclusion error 2014-03-17 11:54:41 +00:00
Jermolene
9de17aa206 Make shadowTiddlers, pluginTiddlers and pluginInfo be private to the Wiki object constructor 2014-03-17 10:50:18 +00:00
Jermolene
721e333a20 Starting to make the members of $tw.Wiki be private
We want to avoid plugins from directly accessing the tiddlers hashmap.
Later we’ll do pluginTiddlers, pluginInfo and shadowTiddlers.
2014-03-16 21:23:10 +00:00
Jermolene
f649b5b037 Extend button widget to set text references
Previously the `set` attribute could only be used to identify a
tiddler, not a full text reference.
2014-03-15 17:02:13 +00:00
Jermolene
42c67cfeb7 Add tiddler info "advanced" panel 2014-03-14 15:23:28 +00:00
Jermolene
f48701544e Enhance tiddler title for system tiddlers
Now the $:/ part of the name is rendered in grey, making the main part
of the title more prominent.

@tobibeer suggested this a long time ago; good idea!
2014-03-13 17:40:53 +00:00
Jermolene
50cf9678cb Add support for tw-home message 2014-03-12 22:32:13 +00:00
Jermolene
8e17c1dfd5 Fix setTextReference()
It wasn’t working for non-existent tiddlers. Also added support for
setting indexed properties of a data tiddler.
2014-03-12 21:54:43 +00:00
Jermolene
d0caf21b2d Exclude attributes starting "on" on HTML elements
Because:

* It doesn't work well with TW5's refresh mechanism, which relies on
being able to regenerate any portion of the DOM as required; this
frequently causes inline handlers to be re-executed at unexpected times
(see
http://tiddlywiki.com/static/TiddlyWiki%2520for%2520Developers.html)
* It mixes TW5 version-specific JavaScript with user content
* In multiuser environments there is a security risk to importing or
viewing tiddlers you didn't author if they can have JavaScript in them
2014-03-12 16:39:18 +00:00
Jermolene
0d18f3cc5d Add support for ordering tags by the 'list-before' and 'list-after' fields
See the discussion here:

https://groups.google.com/d/topic/tiddlywikidev/AXDJEjcAphs/discussion
2014-03-12 14:19:26 +00:00
Jermolene
0d7c4ae6c7 Include tags on shadow tiddlers in tagging filter
Ensures that for system tiddlers the info panel "Tagging" tab correctly
shows the tagged tiddlers.

Final fix for #478
2014-03-10 19:41:38 +00:00
Jermolene
8d612aefdd Fix problem with theme overrides triggering the syncer object
Fixes #479
2014-03-10 19:05:06 +00:00
Jermolene
db35bc36aa Disable storyviews when rendering to the fake dom 2014-03-10 18:41:11 +00:00
Jermolene
af34fbbca3 Only show command line help if no arguments are provided
Previously we were checking in a way that meant that `tiddlywiki
<wiki>` would trigger the help message.
2014-03-10 18:20:07 +00:00
Jermolene
01e1133219 Fix bug where count widget wasn't being updated correctly 2014-03-10 18:15:00 +00:00
Jermolene
98872bbe7c Allow pasting/dropping of HTML content
Fixes #477
2014-03-09 20:39:03 +00:00
Jermolene
bc8b72e6eb Use hasOwnProperty to text for tiddler existence 2014-03-09 19:20:58 +00:00
Jermolene
289bec0fd5 Parse the wiki link tooltip as wiki text 2014-03-08 16:06:57 +00:00
Jermolene
81af6bdd48 Fix typo in navigate handler for button widget 2014-03-08 10:22:09 +00:00
Jermolene
a5a2c718b1 Add support for a tooltip on the link widget 2014-03-06 12:38:47 +00:00
Jermolene
c277370e48 Display --help message if run without arguments
Fixes #389
2014-03-05 11:13:58 +00:00
Jermolene
67f3d58f71 Fix problem with "null" message when unloading under IE11
Fixes #457
2014-03-04 22:21:18 +00:00
Jermolene
df6436a12c Allow middle mouse button to trigger navigation suppression when clicking a tiddler link
Equivalent to holding control/command while clicking.
2014-03-03 09:09:13 +00:00
Jermolene
4194f9f20f Retract change to new tiddler handling in navigator.js
Original commit: d5c31ed07f
2014-02-28 15:31:35 +00:00
Jermolene
cadeb9654c Add help command 2014-02-25 14:50:18 +00:00
Jermolene
2ed8df0d1f Add a new "commands" filter 2014-02-25 14:49:56 +00:00
Jermolene
3636744d4f Add support for retrieving formatted text content from the fake dom
The idea is to convert HTML block elements into newlines, so that the
output is readable on a terminal.
2014-02-25 14:49:07 +00:00
Jermolene
8ce7c3920c Get rid of the old print command
We’ll be introducing a help command to replace it
2014-02-25 14:47:19 +00:00
Jermolene
a1ad735822 Extend the init command to allow editions to be merged
Now we can say “—init tw5.com clientserver” to get the tw5.com content
with the client server plugins.
2014-02-24 10:58:11 +00:00
Jermolene
3f6bf2452a Init command should remove any includeWikis definitions
The includeWikis references will otherwise be broken when the edition
is copied.
2014-02-24 10:14:17 +00:00
Jermolene
f3930ad69c Add init command to initialise a wiki folder
Fixes #362
2014-02-23 22:58:17 +00:00
Jermolene
b0394f1560 Add support for utils-node modules that are only run under Node.js 2014-02-23 22:57:25 +00:00
Jermolene
99ccdf4584 Add confirmation when deleting tiddlers
Fixes #381
2014-02-23 17:37:32 +00:00
Jermolene
260080164f Update setTiddlerData() to preserve tiddler dictionaries
Previously, data tiddlers were always being saved in JSON format,
regardless of the original format.
2014-02-23 12:33:00 +00:00
Jermolene
2ab0facf3a Extend button widget to allow navigating to a tiddler
Fixes #327
2014-02-22 16:13:16 +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
0961b0426b Use import report tiddler only if more than one tiddler is imported
If there’s only one, just display the tiddler itself.
2014-02-21 20:17:34 +00:00
Jermolene
dfbb6e1fba Ensure that $:/isEncrypted is reset if modified 2014-02-21 18:21:10 +00:00
Jermolene
31975e0042 Update importing so we don't open every imported tiddler
Instead we just display a report with links to each imported tiddler.
Should make importing much faster.
2014-02-21 18:21:10 +00:00
Jermolene
cb5b95add2 Extend fakedom to support .value property
So that 88ffb2ad12 will work on the server
2014-02-21 15:43:25 +00:00
Jermolene
68bcbff753 Rough and ready control over bitmap editor line width and colour
Fixes #414
2014-02-21 14:06:04 +00:00
Skeeve
d5c31ed07f Update navigator.js
As described here: https://groups.google.com/d/msg/tiddlywikidev/AWvXz7RMIC4/gFF5crN2UJoJ

Providing a name for the new tiddler message only works if a skeleton tiddler already exists. If not, "New Tiddler" is taken. This change fixes that in that the provided name is taken even if there is no skeleton.
2014-02-21 10:37:20 +01:00
Jermolene
ec0769d7ca Fix typo
Fixes #417, thanks @pmario
2014-02-21 09:11:27 +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
5417b8c4d7 Add 'indexes' filter operator
Returns the indexes within a data tiddler.

We’re about to use this to enumerate the colours within a palette.
2014-02-20 10:00:13 +00:00
Jermolene
2744671211 Fix generateTitle to avoid clashing with shadow tiddlers 2014-02-20 09:58:01 +00:00
Jermolene
88ffb2ad12 Fix problem that was causing Chrome to display black in colour picker swatches
Hurrah!
2014-02-20 09:57:44 +00:00
Jermolene
5e9dae8fb4 Fix view widget so that it works with indexes 2014-02-17 11:28:48 +00:00
Jermolene
e051eb7d90 Making more things translateable
Now we’re done with the text that lives in tiddlers, and we’ll need to
get on with the text that is embedded in code modules.
2014-02-16 09:46:43 +00:00
Jermolene
c43cd325ca Reduce the inconsistent use of "language" vs. "lingo"
Now we’re just using the word “lingo” for the macro defined in
PageTemplate (where the abbreviation is useful), and using the full
word “language” everywhere else.

It’s possible that we should be using “locale” instead of “language”,
what do you think?
2014-02-15 11:32:11 +00:00
Jermolene
69c0b5e031 Fix problem with pasting items into the browser 2014-02-14 20:00:23 +00:00
Jermolene
4836cf83e2 Enhance alerting to coalesce repeated alerts with the same text 2014-02-14 10:29:26 +00:00
Jermolene
70a120d4a6 Expand the logging mechanism to support alerts overlaid on the main screen
Now we get decent visual indication of sync errors, for instance. Still
work to do to coalesce alerts so that the screen doesn’t fill up with
them after an interval. And probably we should add a button to clear
all alerts.
2014-02-14 07:53:41 +00:00
Jermolene
9bb600299f Extend the navigator widget to maintain the "current-tiddler" field on the history list 2014-02-13 17:59:51 +00:00
Jermolene
9db887748b Extend setTiddlerData() to set arbitrary fields 2014-02-13 17:59:33 +00:00
Jermolene
800bc639f9 Fix problem with the reveal widget not refreshing properly when used with text references
The check for changed tiddlers was failing because `this.stateTitle`
contains the entire text reference, not just the tiddler title.
2014-02-13 17:59:10 +00:00
Jermolene
ad4e7ccb17 Add experimental support for building plugins in the browser
It’s a bit rough and ready, but works.
2014-02-13 14:23:27 +00:00
Jermolene
470beabf17 Enhance links so that control/command clicking suppresses navigation
Control- or Command-clicking on a link will now open the target tiddler
but suppress navigating to it. Kind of like opening in a background tab.
2014-02-12 22:00:12 +00:00
Jeremy Ruston
523eae83ff Merge pull request #407 from Skeeve/regexp_filter
fixed an awful typo in the regexp
2014-02-12 21:38:54 +00:00
Jermolene
ca0c352278 Extend the transclude widget to fallback to displaying it's child nodes if the target isn't defined 2014-02-12 21:38:37 +00:00
Stephan Hradek
0dc8de9dd2 fixed an awful typo in the regexp
The regexp fails when backslashes are used in the search-regexp. The closing bracket was at the wrong position.
2014-02-12 22:34:13 +01:00
Jermolene
ecad2bf7a8 Add better control over whether tiddlers are transcluded in block or inline mode 2014-02-12 17:59:28 +00:00
Jermolene
8b3bfa6805 Allow [title[Blah]] to match missing tiddlers
Fixes #404
2014-02-12 16:01:20 +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
5c66bc6dbc Update the reveal widget to allow control over content retention
Thus bringing back the animation of the opening and closing of the info
panel.
2014-02-12 08:32:19 +00:00
Jermolene
dd451800c7 Specify encoding for incoming requests
Fixes #397
2014-02-11 19:42:45 +00:00
Jermolene
190ced7cdd Sync from server even when not logged in 2014-02-11 19:10:40 +00:00
Jermolene
441d9078fa Coding style tweaks for #399 2014-02-10 17:34:10 +00:00
Jeremy Ruston
f0ab607ea1 Merge pull request #399 from shendaras/patch-1
getRelativeDate: support for negative deltas
2014-02-10 17:33:08 +00:00
Jermolene
ecba4f71ea Clean up the highlight plugin
Fixing various issues that were preventing language specifiers from
working.
2014-02-10 13:51:38 +00:00
Jermolene
dea08ed4f8 First pass at language plugins for internationalisation
Still quite a few details to work out, but this shows the basic idea of
re-using the theme mechanism to handle language plugins.

Comments and questions welcome.
2014-02-09 19:18:46 +00:00
Jermolene
8ad34e2db9 Refactor the theme switcher to be a generic plugin switcher 2014-02-08 09:29:37 +00:00
Jermolene
b26a32b93a Remove obsolete stylesheet helper 2014-02-08 09:29:11 +00:00
Jermolene
828fc9dcd0 Autosave when deleting a tiddler 2014-02-07 10:14:10 +00:00
Jermolene
f0d512edf0 Remove extraneous autosave attribute from navigator widget
Inadvertently committed.
2014-02-07 10:12:45 +00:00
Jermolene
a01bbd4b9c Add automatic saving and warning on exit with unsaved changes
We re-use some of the existing syncer mechanism. It was already keeping
track of changes to tiddlers in the store when working with a tiddler
syncadaptor. Now it also tracks changes when there is no syncadaptor,
allowing us to provide a warning if there are unsaved changes.
2014-02-06 21:36:30 +00:00
Jermolene
6d3d3322e5 Fix problem in server with URI encoding of titles in etags
Fixes #398
2014-02-05 19:39:29 +00:00
Daniel Barrett
d02ce5dbf3 oops, actually correct delta
Actually change delta to a positive number to get the logic the same.
2014-02-05 12:37:37 -06:00
Daniel Barrett
32f290dc13 getRelativeDate: support for negative deltas
Add support for format="relativedate" to be used when the date is in the future.
2014-02-05 11:44:01 -06:00
Jermolene
1d685df928 Add support for autosave
Causes the wiki to be autosaved whenever clicking “done” after editing
a tiddler. Only works with savers that support autosave. We should
probably make autosave configurable
2014-02-04 21:21:01 +00:00
Jermolene
4882f70557 Clearer explanation of key descriptor syntax 2014-02-04 20:05:34 +00:00
Jermolene
7eafd51a7d Use placeholder text for editing missing tiddlers
Fixes #387
2014-01-30 17:39:32 +00:00