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