1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-24 02:27:19 +00:00
Commit Graph

260 Commits

Author SHA1 Message Date
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
b7f674c51a First pass at refactoring filter execution
This is the beginning of addressing #523.
2014-04-03 20:49:16 +01:00
Jermolene
925b3d2a5b Fix typo 2014-03-18 21:18:46 +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
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
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
bc8b72e6eb Use hasOwnProperty to text for tiddler existence 2014-03-09 19:20:58 +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
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
ec0769d7ca Fix typo
Fixes #417, thanks @pmario
2014-02-21 09:11:27 +00:00
Jermolene
2744671211 Fix generateTitle to avoid clashing with shadow tiddlers 2014-02-20 09:58:01 +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
9db887748b Extend setTiddlerData() to set arbitrary fields 2014-02-13 17:59:33 +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
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
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
02ba92c6b5 Add [is[image]] filter operator 2014-01-29 09:04:41 +00:00
Jermolene
0b3efe179e Extend list filter operator to take a text reference
Instead of just a title. Means that we can apply the list operator to
fields other than the list field.
2014-01-25 18:14:30 +00:00
Jermolene
f4b27b33de Fixed problem with multiple tiddlers created from dragging a single file 2014-01-24 14:09:06 +00:00
Jermolene
ed5cf8b044 Refactor importing of encrypted TiddlyWiki files so that it works on Node.js 2014-01-19 20:13:55 +00:00
Jermolene
299e9d15fb Add support for importing encrypted TiddlyWiki documents 2014-01-19 18:43:02 +00:00
Jermolene
2c790d982f Switch to using $tw.fakeDocument for the fakedom document object
So that we can free us `$tw.document` to be the actual DOM document
2014-01-15 14:57:35 +00:00
Jermolene
b04141fefd Don't load tiddlers that don't have a title
We were getting problems (eg, adding a `readme.md` to a plugin without
an accompanying `readme.md.meta` would end up creating a tiddler called
“undefined”)
2014-01-12 21:48:18 +00:00
Jermolene
1a74e2538c Cleaning up further coding style inconsistencies that have crept in 2014-01-03 10:50:00 +00:00
Stephan Hradek
ce8c79ecfa changed sort and sortcs to support nsort and nsortcs 2013-12-29 00:15:11 +01:00
Jermolene
12b4cc5d3e Update wiki.readFiles() to call the callback just once
Now we accumulate the results and just pass them to the callback once.
2013-12-23 08:55:11 +00:00
Jermolene
bd80bf4acc Regex optimisation suggested by @Skeeve 2013-12-20 18:14:11 +00:00
Jermolene
e66fb948c1 Typo from #296 2013-12-20 17:07:30 +00:00
Stephan Hradek
04077549ca Fixed the typos Mario noticed 2013-12-19 20:38:59 +01:00
Stephan Hradek
42ba6852d1 changed 2 loops resolving name conflicts for new tiddlers as suggested in issue 294 2013-12-18 23:48:04 +01:00
Jermolene
6298c7aa43 Refactor wiki.forEachTiddler() and wiki.getTiddlers() to take an options parameter 2013-12-11 22:01:02 +00:00
Jermolene
6a71b399b0 Fix problem with transcluding non-string fields
Transcluding date or list fields (like `modified` or `tags`) was
crashing.
2013-12-11 15:51:32 +00:00
Jermolene
1b99dbb677 Add wiki.importTiddler()
Exactly like addTiddler except that it rejects plugins that are older
than the currently installed version.
2013-12-02 09:59:17 +00:00
Jermolene
0956ae10a0 Add support for downloading files
We were re-using the `tw-save-wiki` message both for saving the current
wiki and downloading a new wiki. Now we’ll use the separate
`tw-download-file` message for downloading.

Fixes #236
2013-11-27 20:51:08 +00:00
Jermolene
42fce1929c Improve save notifications for TiddlySpot 2013-11-26 12:50:40 +00:00
Jermolene
b805633dc9 Reorganise the main file saving templates
We’re introducing a mechanism that allows us to decide which tiddlers
get saved. Using `$:/core/save/all` gives all tiddlers, as before.
Using `$:/core/save/empty` gives an empty wiki. Saving an empty wiki
from tw5.com isn’t the same as the empty wiki cooked from
editions/empty because the two editions have different plugins and
other system tiddlers.
2013-11-25 21:16:27 +00:00
Jermolene
939ad11eae Rename the 'setvariable' widget to 'set'
Sleeker.
2013-11-15 18:31:39 +00:00
Jermolene
45c51481de Improve performance of tag handling with some caching 2013-11-13 23:33:32 +00:00
Jermolene
d2dbc73448 Correct typo 2013-11-12 19:52:25 +00:00
Jermolene
51fe1e20e8 Make sure that searching for the empty string returns all available tiddlers
Makes sense because every tiddler contains the empty string. This
restores the functionality of the tag editor dropdown.
2013-11-11 15:26:41 +00:00
Jeremy Ruston
ec481415f9 Fixes for TiddlyWeb 2013-11-08 20:18:26 +00:00
Jeremy Ruston
cc0011abd3 Get rid of the "new_" prefix we had on some methods
There's still the "old_" prefix to get rid of too.
2013-11-08 08:51:14 +00:00
Jeremy Ruston
b7cb1d3391 Change new_widget to widget
I was avoiding doing this until after the merge.
2013-11-08 08:47:00 +00:00
Jeremy Ruston
35adf4269a Merge backlog of changes from master branch
This is too easy. I'm worried.
2013-11-08 08:33:27 +00:00
Jeremy Ruston
4eebe7388d Add a wiki.makeWidget() method
Encapsulates some logic that has been duplicated elsewhere.
2013-10-29 14:48:24 +00:00
Jeremy Ruston
20f03de712 The big purge of the old widget mechanism
Getting rid of the old widget mechanism files finally gives us a payoff
for all the refactoring. Still a bit of tidying up to do, and we need
to re-introduce the animation mechanisms.
2013-10-27 22:55:36 +00:00
Jeremy Ruston
b1208a8d37 Fix problem with getTiddlerLinks()
It was crashing if it encountered a link widget that didn't have a `to`
attribute.
2013-10-27 13:54:39 +00:00
Jeremy Ruston
8c2fb7b8d0 Extend wiki object to have methods required for importing 2013-10-25 21:15:20 +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
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
e11c620c27 Fix search filter so that titles and tags of binary tiddlers are searched 2013-10-17 16:34:50 +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
9278c43a91 Add support for macro definitions 2013-10-13 22:39:05 +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
b563d8e98a Ensure getTiddlerList() returns a copy of the tiddler list
Fixes #155
2013-09-18 12:12:29 +01:00
Jeremy Ruston
df0a1a7c42 Fix problem with wiki.search() incorrectly searching missing tiddlers 2013-08-24 16:51:54 +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
0bda00ae71 Extend the fieldlist widget to retrieve all fields used across all tiddlers 2013-08-09 16:46:17 +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
85007cb1e1 Correct comments 2013-08-06 15:27:02 +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
1a160485a8 Documentation correction 2013-07-08 21:44:12 +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
647bd51299 Fix problem with erroneous initialisation of changedTiddlers member 2013-07-03 16:00:48 +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
31a4b96f57 Fixed problem with getTextReference() not always returning a string 2013-05-27 17:55:23 +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
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
e501c0ec2a Enhance TiddlyFox saver to display a notification on success 2013-05-07 18:09:15 +01:00
Jeremy Ruston
e12fbf0f9f Comment clarification 2013-04-30 22:35:52 +01:00
Jeremy Ruston
f487ea68d1 Store the parser list in the wiki constructor 2013-04-25 17:40:12 +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
dc00e584fb Add support for filtering shadow tiddlers 2013-04-03 14:29:12 +01:00
Jeremy Ruston
cd36f594c5 Make the core into a plugin 2013-03-28 17:07:30 +00:00
Jeremy Ruston
e88db07085 Fixed problem with ignored default in wiki.getTiddlerText() 2013-03-27 13:48:17 +00:00
Jeremy Ruston
f427339a78 Add renderContext parameter to wiki.renderTiddler 2013-03-25 10:42:14 +00:00
Jeremy Ruston
6f88a57a41 Add wiki.countTiddlers() method 2013-03-21 22:21:00 +00:00
Jeremy Ruston
952f1b3900 Add tiddler info dropdown
Including backlinks
2013-03-19 16:45:07 +00:00
Jeremy Ruston
7cb65a3816 Add 'missing' and 'orphan' tabs 2013-03-19 10:14:44 +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
00ad0bc7a9 Docs update 2013-03-10 19:27:44 +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
Jeremy Ruston
06c5308c4b More explicit name for "touchTiddler"
Thanks to @boycook for the conversation that triggered this refactoring
2013-03-05 19:59:55 +00:00
Jeremy Ruston
9a71117853 Prettify JSON 2013-01-28 19:27:22 +00:00
Jeremy Ruston
d28ee0b82a Change module type for parsers to "parser" 2013-01-16 13:56:11 +00:00
Jeremy Ruston
baff901685 Added ability to transclude fields of data tiddlers
This allows us to transclude colours into CSS
2013-01-15 17:50:47 +00:00
Jeremy Ruston
12683c7d5f Removed dead code
Left over from the big parser refactoring
2012-12-29 22:27:36 +00:00
Jeremy Ruston
b006cf163f Remove the old parser code
Thus introducing a few functional regressions, but it's going to be
easier to fix things up without the old code knocking around and
getting in the way.
2012-12-28 22:08:32 +00:00
Jeremy Ruston
d6e531e87c Extend new parser mechanism to determine parser based on content type
And add an image parser and a plain text parser
2012-12-27 17:08:29 +00:00
Jeremy Ruston
c703fb1267 Get rid of the wikivocabulary object 2012-12-26 22:02:59 +00:00
Jeremy Ruston
055bdd8d8f Added inline transclusion as well as block transclusion 2012-12-20 15:07:38 +00:00
Jeremy Ruston
d338a54370 Introduce refactored wiki parser and renderer
This is a half-way through a big refactoring of the parsing and
rendering infrastructure. The main change is to separate the parse and
render trees, which makes the code a lot cleaner. The new parser isn't
yet functional enough to replace the existing parser so for the moment
you have to manually invoke it with `$tw.testNewParser()` in your
browser console. I really ought to use branches for this kind of
thing...
2012-12-13 21:34:31 +00:00
Jeremy Ruston
580bd6438e Fixed issues with blank tiddler text
The empty string is falsy in JavaScript, to keep us on our toes.
2012-11-23 13:08:10 +00:00
Jeremy Ruston
3d38d4add3 Use text/x-tiddlywiki for old format TiddlyWiki text for compatibility 2012-11-19 16:58:16 +00:00
Jeremy Ruston
84650b9a54 Swap over to the new mime type conventions
Discussed in
https://groups.google.com/forum/#!topic/tiddlywikidev/re8xfLqZNCE
2012-11-18 15:22:13 +00:00
Jeremy Ruston
5c87b437ee Support for lazy loaded tiddlers 2012-11-18 13:14:28 +00:00
Jeremy Ruston
4742ab14fc Start using the server connection tiddler to store host details 2012-11-17 21:15:19 +00:00
Jeremy Ruston
e194aed449 Introduce syncer mechanism 2012-11-17 20:18:36 +00:00
Jeremy Ruston
0dbe4c0291 Get rid of more vestiges of the old empty generation mechanism 2012-11-16 22:40:25 +00:00
Jeremy Ruston
539b64b626 Refactoring module mechanism
Changed the data structure $tw.modules.types to make it possible to
detect repeated registrations
2012-11-14 11:23:43 +00:00
Jeremy Ruston
9612aac296 New implementation for shadow tiddlers
Now shadow tiddlers are any tiddler whose title starts with "$:/"
2012-11-11 14:31:45 +00:00
Jeremy Ruston
9f6909ddc4 Appeasing the gods of JSHint 2012-11-06 17:21:56 +00:00
Jeremy Ruston
b81b2c0c63 Fixed problem with tiddler hashmap handling
We need to check hasOwnProperty to avoid problems with tiddlers called
eg "__proto__". There are more changes like this to come
2012-11-06 14:10:55 +00:00
Jeremy Ruston
ba4e140147 Fixed problem with retrieving non-existent list tiddlers 2012-10-25 22:44:00 +01:00
Jeremy Ruston
e063ec6b1a Added new getTiddlerList() method to wiki 2012-10-25 14:57:33 +01:00
Jeremy Ruston
c087228b33 Starting to introduce list views
These are custom modules for visualising list manipulations and
navigations
2012-10-23 17:13:47 +01:00
Jeremy Ruston
5ced636abf Rename "viewer" modules to "fieldviewer" 2012-10-23 16:40:22 +01:00
Jeremy Ruston
3a710ad9ce Fix problem with sortTiddlers 2012-10-23 16:28:38 +01:00
Jeremy Ruston
092e495e90 Fixes the text reference parsing 2012-10-18 23:20:27 +01:00
Jeremy Ruston
971bc68163 Fixed search bug 2012-10-18 18:27:58 +01:00
Jeremy Ruston
cd04fa22c6 Introduce extensible viewer modules for the view macro 2012-10-18 18:27:27 +01:00
Jeremy Ruston
10ed746209 Seach titles as well as bodies 2012-10-18 10:51:52 +01:00
Jeremy Ruston
caaa798ced Support search terms vs. literal search
Search terms like "one two" are searched like Google, returning
tiddlers with both terms
2012-10-17 20:38:36 +01:00
Jeremy Ruston
915caf2a18 Improvements and fixes to search 2012-10-17 14:57:13 +01:00
Jeremy Ruston
0982bcbf45 Added function to search a wiki
Crude at the moment
2012-10-17 14:34:59 +01:00
Jeremy Ruston
343a2c2340 Fixed problem with sorting by missing fields 2012-10-16 21:41:12 +01:00
Jeremy Ruston
3070357d70 Refactor serialisers to work on an array of tiddlers 2012-09-02 20:28:32 +01:00
Jeremy Ruston
389b6513b6 Fixed wiki.saveWiki to pass the correct parameters to the template 2012-08-25 17:32:43 +01:00
Jeremy Ruston
175d7c67fd Moved support for parameter substitution into wiki.parseText()
We'll later refactor the same logic out of the tiddler macro
2012-08-25 12:05:57 +01:00
Jeremy Ruston
daff9c10f3 Tighten terminology for plugins vs. modules
"Plugins" are bundles of tiddlers managed as one, "modules" are
JavaScript tiddlers with a module type identifying when and how they
should be executed.
2012-08-03 15:09:48 +01:00
Jeremy Ruston
a2caf46b1e Added new wiki methods for reading and writing a toddler as data 2012-07-22 22:03:06 +01:00
Jeremy Ruston
c74d608418 Removed parser switch 2012-07-14 18:08:00 +01:00
Jeremy Ruston
5e11de719c Added HTTP upload saver
Now we can save changes to TiddlySpot
2012-07-13 13:03:38 +01:00
Jeremy Ruston
05d9cb60fc Passed host wiki to saver constructors 2012-07-12 16:58:49 +01:00
Jeremy Ruston
c340082653 Added primitive save changes mechanism
Works in Firefox for now
2012-07-10 23:18:44 +01:00
Jeremy Ruston
2282a825ec Extraneous var 2012-06-19 16:56:40 +01:00
Jeremy Ruston
08d7a12d04 Finishing off the text reference support 2012-06-19 16:47:25 +01:00
Jeremy Ruston
ec3f16f50f Enabled sorting by title of tiddlers that don't exist 2012-06-19 10:40:05 +01:00
Jeremy Ruston
381d0715e9 The beginnings of support for text references 2012-06-19 08:56:15 +01:00
Jeremy Ruston
3584d854aa Add case sensitive sorting 2012-06-14 11:36:26 +01:00
Jeremy Ruston
a160fb07e4 Sort tagged tiddlers 2012-06-13 13:19:32 +01:00
Jeremy Ruston
84a352b804 Added wiki.getTiddlersWithTag()
We should probably use the filter mechanism for this...
2012-06-13 09:10:03 +01:00
Jeremy Ruston
45cf175b8b Made sorting be case insensitive 2012-06-10 22:53:29 +01:00
Jeremy Ruston
b5f8f97ccc Refactored loading of tiddlywiki.plugin files
Now we read the files raw, rather than through the deserialiser
2012-06-08 11:47:05 +01:00
Jeremy Ruston
e8c69ae7dc Comment updates 2012-06-07 11:31:44 +01:00
Jeremy Ruston
3da70b925f Saving a shadow tiddler preserves its shadow status 2012-06-06 22:19:34 +01:00
Jeremy Ruston
22b836e4ac Added 'isShadow' flag for system tiddlers
Shadow tiddlers are omitted from lists by default
2012-06-06 13:21:20 +01:00