* Make expand/collapse state be global across all tiddlers
* Remove “Show raw text” option, now that we’ve got the two expandable
areas for raw and wikified text
* Hide raw text by default
* Accentuate currently open tiddler
* Refactored control panel “Plugins” tab to make the elements more
reusable
* Refactored the display of plugin tiddlers to use the same format as
the control panel (as suggested, I think by @danielo515), adding the
shadow tiddler listing as an overridable extension tab
* Added a new tab in the “More” sidebar providing quick access to all
installed plugins
* return all wikiparserrules w/o operand
* simpler layout & code / updated instruction details
Also wanted to link each rule to the official docs using a dictionary at
`$:/language/Docs/ParserRules/`. However, without #2194 this is not
doable.
There have been long standing problems with the buttons not working in
Firefox, and now a [further
problem](https://groups.google.com/d/msg/tiddlywiki/GlsruQyPOag/BAhnI2mt
BgAJ) has come to light, and been similarly hard to resolve.
On balance, I’ve decided to remove the undo/redo buttons from the
toolbar (the ctrl/cmd-Z shortcut is still operational), thus avoiding
the problems, and saving some space in the core.
The present implementation of relative dates doesn’t auto-update, nor
does it work effectively in static renderings. Until that’s fixed, I
think it is better to switch to absolute dates.
The dropdown can be summoned by clicking on the search field. It will
only appear if the search field is not empty. When the search field is
not empty the dropdown can be also be summoned by clicking on the arrow
or search result count.
There are still some wrinkles where the dropdown doesn’t appear when
expected; I’d appreciate feedback to help reproduce those cases.
This change should still work with custom search result tabs.
One of the changes for introducing folded tiddlers was the extra reveal
widget here, which introduces an extra DIV element, breaking some CSS
rules. To fix it, we re-use the reveal widgets generated DIV as the
tiddler body DIV
* Ignore parser rule configuration in safe mode
* Made text translatable
* Added new setting for camelcase links
* Added warning on parser rule configuration tab
See #1875
There’s not much to making the toolbar button styles switchable: the
change to the PageTemplate introduces a new configuration tiddler that
controls the button styling. Most of this commit is the user interface
for changing that setting, including the translatable text. I think
this again demonstrates that we need to be very selective about which
configuration options have a UI included in the core. Otherwise, a few
dozen more of these settings will start to become a significant
fraction of the core.
When the info button in the TagManager was press it revealed the info
table but it was squished in one cell and that pushed the right side of
the table past the width of the tiddler. So using a colspan optimises
the spacing (plus it looks better).
@felixhayashi sorry I should have realised earlier that it’s worth
doing it this way so that we can have different settings for different
story rivers.
The button deletes the local tiddlers that contain information about the library. This allows you to:
*hide the library contents
*reload the library to see any updates to the plugins it contains. If this isn't done than local information about the available plugins is never updated (this problem may need a separate fix that doesn't require reloading the library).
I have three problems that should be addressed:
*I am not sure that the location and color of the close library button is appropriate
*When you click on the close library button a message asking you if you want to delete the $:/temp/ServerConnection/(url) tiddler appears, if you click 'cancel' than the library is shown as open and empty, the only way to fix this condition is to delete the server connection tiddler manually. I think there is a simple fix to this but I can't think of anything.
*Sometimes if you try to open a library that you have just closed it won't open properly. The tiddlers that contain the plugin information are created, but the server connection tiddler isn't created until you reload the wiki. This behavior is inconsistent and sometimes opening the library again works with no problems. I do not know why. I would be fine with requiring a refresh before a library could be reopened so that the startup module acts, but I am not sure what to do about this inconsistent behaivor. I have not been able to find any cause.
Give the toolbar buttons for control panel, advanced search and tag
manager the selected state when the corresponding tiddlers are open in
the story river.
* Moved “add new plugin” into a modal wizard
* Adopt big friendly buttons
* Add plugin icons and readmes to “add new plugin” modal
* Use tabs for splitting plugins/themes/languages
* Consistent styling between the “add new plugin” modal and the
“installed plugins” control panel tab
* Behind the scenes, moved from addressing the library as
`recipes/defaults/tiddlers/<etc>` to `recipes/library/tiddlers<etc>`
This was introduced to make it possible in the new stacked story view
to click on a tiddler to bring it to the front. By allowing a tiddler
in view mode to be focussed, it also prepared for view mode keyboard
shortcuts. (Eg, a key to edit the current tiddler).
However, there are several minor issues with the unexpected behaviour
of clicking on a tiddler navigating to it, so we’ll leave this out of
5.1.8
For some reason this is causing the focus to be repeatedly set to
the title field when editing a tiddler's text. Let's revert it for
now.
See Issue #1527.
This reverts commit fdc635007b.
With this enhancement, clicking on a tiddler in the story view will
navigate to that tiddler. This is needed for eg the stacked storyview,
where we want to be able to click on tiddlers to bring them to the
front of the stack.
There are some problems though - as things stand, clicking on a tiddler
in classic storyview will scroll to the top of that tiddler.
@tobibeer I think that this was originally from you. I think it’s
problematic listing all available tiddlers for performance and
usability reasons.
I’ve instead taken advantage of your work to template the tag links by
splitting the system and non-system tags. What do you think?
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 now, computes path to backup directory, appending the relative path
of UploadBackupDir to the absolute one from the UploadURL
Also added example for store.php to hint
fixes#1333
extracts the tag-link into a component template...
**$:/core/ui/Components/tag-link**
...so as to split the list in two, having two filters that list tiddlers
in the add-tags popup to...
1. firstly, list matching used tags
2. secondly, list mathcing tiddler titles, thus availabe for tagging
Does away with searching content as it is irrelevant if not distracting
for tagging.
Why two lists? Consider wanting to tag a tiddler with "Filters"...
observe how the result would otherwise be way too far down because
existing tiddler titles get in the way.
Component templates are also desireable elsewhere, e.g. #1318
In 5.1.5 we switched to using `<$action-setfield>` instead of
`<$fieldmangler>`. The problem was that in the process we lost the
validation of field names, making it possible to create fields with
illegal names
Fixes#1186
Note: I did NOT test the results as I have yet to figure out how to make
node.js...
* actually run the server without a 403
* build the core tw after me having made changes
* removed trailing whitespaces in button tids
* defined a global left margin for buttons set to 5px
* slightly less than in view-mode before
* slightly more than in edit-mode before
* but visually more appealing to me
* leaves a wee more room for the title to unfold
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)
With this commit tag pills will now choose for the foreground colour
either the current palette “foreground” or “background” colours,
according to which has the higher contrast. It’s something @gernert has
expressed an interest in in the past, and I’ve tended to agree that it
is a nice piece of polish. It opens up the possibility of paler colours
for tag pills than are currently possible.
The trouble is that in order to implement it I’ve had to bring in a
third party library for parsing CSS colours. It weighs in just over
9KB, making quite a lot of weight for such a small feature. I don’t see
any other immediate uses for the colour parsing library either.
So, I’m undecided at the moment whether this should stay in the core.
Clicking on the advanced search ellipsis when there is a search string
will open the advanced search tiddler, and copy the current search term
to it.
Thanks to @Spangenhelm for the idea.
Also fixes a problem pointed out by @Evolena whereby the advanced
search counts hadn’t been adjusted to remove `$:/temp/advancedsearch`
from the search.
Reasons:
- can show or hide the button text with CSS (assuming
tv-config-toolbar-text is yes).
- can have different looking buttons in the page controls versus the
view toolbar, etc
- more flexibility styling the button appearance, for example you
can change the text size compared to the icon size
- button appearance is more themeable
It seems that there is a broader problem with the way that the button
is embedded within the label of a checkbox; even on Chrome it meant
that the checkbox active state was triggered when clicking on any of
the buttons. The user experience was in any case confusing; it wasn’t
obvious that clicking on the label to the right of the button would
flick the checkbox.
The solution takes the buttons and labels out of the checkbox label.
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 problem was that stylesheets were being transcluded in inline mode
(rather than block mode), which meant that triple backticks were not
being interpreted as block mode markup, but rather as a series of
single backticks.
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
Fixing problems caused by c4b76ceb0b:
* We still need to initialise the saver-handler even when syncing to a
server, otherwise offline snapshots can’t be saved
* We need to override the default save template a bit further up the
stack, to avoid the server side serving the offline version of the wiki
at `/`
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.
Also adds flag icon for each language.
One limitation is that the language button doesn’t work properly when
accessed via the “more” menu of the page controls.
@BramChen - could you help me choose the most appropriate flags to use
for the variants of Chinese?
The tiddlers are wikified in the context of the host wiki, which means
that mutual transclusions between imported tiddlers won’t appear
correct in the preview.
An improvement to 6fb992690d
By making sure that all the popup state tiddlers have the prefix
$:/state/popup/ we can be more selective and just exclude popup state
tiddlers when we save. The end result is that once again other kinds of
state are persisted as expected (eg tabs, and sidebar visibility).
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
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.
We’re also reverting to the old custom dropdown. Using the select
widget didn’t work out because it couldn’t cleanly work with a text box
allowing custom types to be specified.
In 5.0.12-beta, if you change the current language setting then the
current sidebar tab setting is lost. This was because the qualified
title generated for the tabs was incorporating the current language
title, by virtue of a trick used in the PageTemplate to set the
“languageTitle” variable to a field of the current language plugin.
This trick left the current tiddler set to the current language, and
this current tiddler was still in force for the transclusion of the
page template segments.
In practice, if you look at TabsMacro you’ll see that the width of the
tab content is wrong, and will usually overflow the container. Next
step is to fix that by using flexbox…
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
Fixes#580
Seems much better, especially since the chevron gives us two clear
visual states (left vs. right). The hamburger doesn’t really have a
commonly accepted way of indicating whether the menu is currently open
or not.
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.
We get a significant speed improvement of >10% by rearranging filter
operators to bring to the front the operators likely to reduce the size
working list.
The problem was that the scrollable required that the mouse be over the
story river itself in order to scroll it with the wheel. If we fallback
to scrolling the story by scrolling the browser body then we are able
to scroll even if the mouse is over the sidebar.
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!
Add a dropdown for choosing available images for a tag.
As part of this change we need to tag tiddlers that contain images
typed as wikitext (these are inline SVG icons) so that we can display
them in the dropdown.
On discussion at Hangout #38 we felt that hiding them was confusing,
and that there were few situations where a user would see system tags
except on system tiddlers.
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.
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?
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.
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.