Fixes#1450
Provides support for an integrated plugin library that can be used to
install plugins from tiddlywiki.com directly to wikis hosted online or
offline. See the Plugins tab of Control Panel.
Todo:
* Error checking(eg libraryserver.js HTTP GET)
* Translatability
* Documentation
** $:/tags/ServerConnection
** savelibrarytiddlers command
For consistency with the way that tabs work.
To see this in action, on tiddlywiki.com open the tiddler
`$:/tags/ControlPanel` and edit it to add the tag “TableOfContents”.
You’ll see the control panel appear at the bottom of the table of
contents.
New export button appears as a page control toolbar button, a tiddler
toolbar button, and a button in the advanced search filter tab.
Initially supports exporting as static HTML, CSV, JSON or `.tid` file.
Still to do:
* Made the exporter descriptions translatable
* Hide the export button by default
* User docs
* Cleaning up the existing templates (eg,
`$:/core/templates/alltiddlers.template.html` should work by
transcluding `$:/core/templates/exporters/Static`)
* Docs for the new macros `exportButton`, `csvtiddlers` and
`jsontiddlers`
Issues:
* OS X Numbers refuses to open CSV files that have been generated in
Chrome, because it thinks they’ve been downloaded from the Internet.
Firefox works OK
* The export button won’t work within the tiddler info panel, or from
the *more* popup (this is because we don’t support nested popups)
In practice the macros are always invoked in inline mode, meaning that
the triple braces weren’t getting parsed correctly. Now we switch to
inline code
The “info”, “edit”, “close” troika has been a feature of TW5 since the
very early days. Recent discussion in Hangout #67 has made me question
whether we wouldn’t be better off with the defaults in this commit:
“more”, “edit”, “close”.
The rationale is that the primary purpose of the “info” button has
become gaining access to the tools that haven’t been elevated to being
toolbar buttons. Most of the rest of the content of the info panel is
pretty arcane. So let’s try it for a few days - I’d appreciate any
feedback.
The journal tiddler will be tagged with the name of the current
tiddler. This is similar to how the new here button works.
(Would have liked to reuse the journalButton code which is almost
identical between new-journal-here and new-journal, but I'm not
sure how to do it.)
This is a basic “new here” tiddler toolbar button that just creates a
new tiddler tagged with the title of the current tiddler.
@pmario is there anything else required?
The control panel isn’t the right place for tools; it’s a place for
settings and internal configuration.
Once again apologies to the translators for wiping out your hard work!
For example, the previous title for the tiddler containing the editor
types tab of control panel was
“$:/core/ui/ControlPanel/Advanced/EditorTypes”. We’re now removing the
“Advanced” portion, so that we don’t have to rename tiddlers like this
if we move them around between tabs
Re-introduces the “tw-auto-save-wiki” message. The previous approach of
automatically triggering autosave whenever a tiddler changed meant that
changing configuration changes in control panel was triggering an
autosave. Using the explicit message gives us better control of the
situations in which we’ll autosave.
Now we solve the earlier problem of there being outstanding tiddler
change events at the time that we process the “tw-auto-save-wiki” by
deferring the autosave until the outstanding change event comes in.
Previously we were using a message `tw-auto-save-wiki` to trigger an
autosave. The message was generated by certain UI actions such as
saving a tiddler. The trouble was that the message was being processed
before the wiki change event for the accompanying change had had a
chance to percolate. The end result was that the dirty indicator was
staying lit when using autosave.
The new approach abandons the autosave message and instead triggers the
autosave in the wiki change event when a relevant change occurs.
One happy side effect of these changes is that the dirty indicator now
works as expected with the client server edition - ie, when typing in a
draft tiddler the dirty indicator will flash briefly, and then clear
when the sync mechanism has completed saving the draft.
Move the CSS macros into global macros, and allow the colour macro to
fallback to the vanilla palette if the required colour isn’t found in
the current palette.
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
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
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.
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?
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.
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.