1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-29 03:20:27 +00:00
Commit Graph

1078 Commits

Author SHA1 Message Date
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
0fc3c0d4a3 Extend field editor to allow removal and adding of fields
Still pretty rough looking
2013-06-04 12:03:53 +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
ac879b165d Extend the edit template to include field editors
Not yet complete - we can't add or remove fields, and we need to
trigger type-specific editors for certain field types. And the layout
is a bit rubbish at the moment
2013-06-02 23:22:16 +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
7dd3839970 Exclude system tiddlers from the more/types listing 2013-05-31 19:57:19 +01:00
Jeremy Ruston
7e27ed1292 Rename static content template for consistency 2013-05-31 19:56:54 +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
ac32b09db3 Rename the tiddlers in the Snow White theme, and enable a static banner
The tiddlers in the Snow White theme weren't named as part of their
plugin.
2013-05-31 17:44:09 +01:00
Jeremy Ruston
b0d183070c Don't allow < and > in external links 2013-05-31 17:42:40 +01:00
Jeremy Ruston
c566284158 More consistent naming for the boot tiddlers 2013-05-31 16:53:19 +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
905945ee26 Start rearranging the core plugin
Lots of inconsistencies have crept in
2013-05-31 15:22:34 +01:00
Jeremy Ruston
07a1d66e34 Fix bug with search not working 2013-05-31 13:32:46 +01:00
Jeremy Ruston
d27cb19e22 Update titles of certain widgets that were misspelled 2013-05-31 13:23:25 +01:00
Jeremy Ruston
f3703694e9 Add classes to our SVG icons so that they can be styled more easily 2013-05-31 13:09:10 +01:00
Jeremy Ruston
358efd1d1c Add optional preview in edit mode 2013-05-29 22:43:09 +01:00
Jeremy Ruston
a8b1da33de Improvements to slide animation 2013-05-28 16:47:16 +01:00
Jeremy Ruston
c7fe9b747a Make the tiddler info slider animate open and closed 2013-05-28 16:28:59 +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
3e6efd7902 Move recent changes into it's own snippet 2013-05-28 08:38:23 +01:00
Jeremy Ruston
78cd134c0a Group the recent changes list by day 2013-05-27 18:00:50 +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
71f98ea52c Use a block mode reveal widget 2013-05-20 11:19:54 +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
136ecee41e Refactor the core icons to be inline SVG fragments
This allows us to style the images with CSS, which means we finally get
hover effects on our toolbar buttons
2013-05-15 18:45:24 +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
a0a6b69a4e Sort themes by title 2013-05-14 14:24:18 +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
db67bb8f8a Add links to config tiddlers to control panel 2013-05-08 17:29:10 +01:00
Jeremy Ruston
37abd01b00 Further attempts to fix pesky iPad layout bug
This seems to do the trick
2013-05-08 16:02:29 +01:00
Jeremy Ruston
e36d22df97 Fix iPad issue with displaying page controls 2013-05-08 15:47:40 +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
762f50d920 More shadow tiddlers
These ones are designed as fallback content for empty TiddlyWikis -
these are the tiddlers that end users are expected to modify to
customise their wiki
2013-05-08 14:24:30 +01:00
Jeremy Ruston
c77d2f7490 Add a sidebar button for saving changes 2013-05-08 13:27:26 +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
b7832cd1d4 Add new tiddler and options buttons to sidebar 2013-05-01 22:10:55 +01:00
Jeremy Ruston
bce0ea841c Add bullet next to selected theme in theme switcher 2013-05-01 22:10:34 +01:00
Jeremy Ruston
57b7692c97 Sidebar layout tweaks
Including add a clear button to the search box, which is another use of
the linkcatcher widget
2013-05-01 16:56:34 +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
b672e12fef Add a UI to allow themes to be switched 2013-05-01 12:02:49 +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
31a378b64c Start support for themes
To start with, we move the current stylesheets into a theme plugin
called "Snow White". Wikis have to specify at least one theme in their
`tiddlywiki.info` file. Next we'll add a mechanism for switching
between loaded themes
2013-04-28 09:42:48 +01:00
Jeremy Ruston
d62c9f613c Style tweaks 2013-04-27 18:03:13 +01:00
Jeremy Ruston
7d8051ef8d Style tweaks 2013-04-27 16:49:12 +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
608175803b Comments and rearrangements for the base stylesheet
Preparatory to picking it apart into separate files
2013-04-27 15:44:56 +01:00
Jeremy Ruston
9a4caec992 Add close buttons to the open tiddler list 2013-04-27 12:11:56 +01:00
Jeremy Ruston
54d53cedd2 Further style tweaks 2013-04-27 11:43:11 +01:00
Jeremy Ruston
b139f4c6f1 Styling improvements 2013-04-27 11:28:46 +01:00
Jeremy Ruston
11f1011acc Fix toolbar button size in edit template 2013-04-27 10:04:57 +01:00
Jeremy Ruston
6288ed6834 Sidebar adjustments 2013-04-26 21:30:11 +01:00
Jeremy Ruston
3219b948ad Fix problem with info dropdown text size 2013-04-26 18:05:59 +01:00
Jeremy Ruston
88b7c53972 Some styling changes
The idea of moving the sidebar to the right is so that it can grow into
the otherwise empty space to the right of the story column.

Still a work in progress: needs to be responsive, amongst other things
2013-04-26 18:02:02 +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
ba7b886067 Move tiddlyweb stuff into a separate ServerControlPanel
Eventually we'll need a more general purpose mechanism for plugins to
add UI to the control panel
2013-04-16 11:17:27 +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
df59269b0d Fixed problem with plugin precedence
We were unpacking plugin tiddlers in arbitrary order, and ensuring that
later plugins didn't overwrite shadow tiddlers from earlier plugins.

Now we'll allow plugins to specify a "pluginPriority" that determines
the load ordering. We also explicitly allow shadow tiddlers from later
plugins to overwrite shadow tiddlers from earlier plugins.

We're setting a base priority on the core plugin, since many plugins
will want to control their loading relative to it.
2013-04-08 18:37:49 +01:00
Jeremy Ruston
6d4768acad Improve word wrapping behaviour
Stops tiddler titles overflowing when they dont contain word breaks
2013-04-06 16:49:47 +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
ffe11a28d9 Fix tiddler dropdown 2013-04-04 14:24: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
02e0b1059e Style improvements 2013-04-03 21:11:10 +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
8146d57190 Style tweaks
Finally started to use `box-sizing: border-box`
2013-03-28 21:30:22 +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
63fd149ea9 Relaxed restrictions on the names of constituent tiddlers within plugins
Thus allowing us to give a more sensible title to the core plugin
2013-03-28 17:15:52 +00:00
Jeremy Ruston
cd36f594c5 Make the core into a plugin 2013-03-28 17:07:30 +00:00
Jeremy Ruston
c411ee5106 Better error handling in boot.js 2013-03-28 14:06:50 +00:00
Jeremy Ruston
9c066617a1 Add a default tab for the tiddler dropdown
Unfortunately, we're not yet highlighting the tab itself
2013-03-27 13:48:55 +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
554dffd83f Add tag and missing dropdowns to the sidebar 2013-03-26 09:47:22 +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
829ab59a7d Add error message for recursively including a wiki 2013-03-25 19:56:22 +00:00
Jeremy Ruston
5bfcbb99ba Add support for wiki directories to recursively include other wiki directories 2013-03-25 18:55:41 +00:00
Jeremy Ruston
d73cdfef77 Don't save "bag" fields
They're just an artefact of syncing
2013-03-25 12:22:15 +00:00
Jeremy Ruston
10b192e743 Add support for saving binary files 2013-03-25 12:11:34 +00:00
Jeremy Ruston
692b8b4b15 Use a system tiddler for the tiddler dropdown info state 2013-03-25 11:08:42 +00:00
Jeremy Ruston
77a6b72245 Enable server side file synchronisation in the clientserver edition
Use with great caution for the moment
2013-03-25 10:43:46 +00:00
Jeremy Ruston
b97681758c Set up $tw.boot.wikiTidlersPath
A surprising amount of refactoring to do this
2013-03-25 10:43:18 +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
9fb8ef25ed Ensure we don't register file information for externally loaded tiddlers
Also make sure some globals like setInterval are available on the server
2013-03-24 12:27:45 +00:00