* Fix problems with building single-file wiki using external-js template
* core/templates/external-js/tiddlywiki5-external-js.html.tid,
core/templates/external-js/save-all-external-js.tid,
core/templates/external-js/save-offline-external-js.tid
core/templates/external-js/load-external-js.tid:
Fix#5343. Exclude client-server plugins in tiddler imports and to
specify a working URL for loading tiddlywiki5.js from local disk.
Mirror save/all and save/offline templates in the regular server
edition.
Fix#4717 (tiddlywiki5-external-js.html.tid)
* core/modules/saver-handler.js:
Need the change to make single file autosave work with the external-js
template.
* editions/server-external-js/tiddlywiki.info:
Provide external-js related build targets.
* core/language/en-GB/Snippets/ExtJSReadme.tid:
Temporary doc to supplement TW5.com's external-js section. Demonstrate
that upgrade could be done on single-file wikis with an externalized
TW core.
* core/language/en-GB/Snippets/GetTiddlyWikiJS.tid:
Documentation. Meant to be included in every wiki and to help end
users acquire tiddlywiki5.js.
* Pre-configure save-wiki template for end-users
* Remove the newline character at the end of the file.
* Trim "template" value in saveWiki()
* Safeguard the code from extraneous whitespaces in transcluded result.
* Rename and add versioning to downloaded tiddlywiki core JS
* Rename "tiddlywiki5.js" to "twcore-VERSION.js"
* Preload $:/config/SaveWikiButton/Template tiddler with the required
external-js template value.
* Update external-js user documentation
* Add "download tiddlywiki core JS" menu item to the "cloud" button.
* Update build's target defintions associated with external-js template.
* Move the user doc to the tw5.com edition.
* Coding style update
* Undo template name changes
* Correct text & fill colors on some disabled buttons
* Add new "export tiddlywiki core" button under page control tools
This new button can export tiddlywiki's core JS from user's wiki as
long as the wiki is served with the regular "root" template. The
button will be ineffective, thus disabled, if the core has already been
externalized by the "external-js" template.
With this button, a full standalone html wiki can obtain the matching
core JS without TiddlyWiki on node.js. Once this is done, the html wiki
can be converted to using the "external-js" template.
* Alternate version of "save tiddlywiki core for offline use"
This version will fire up a "Save File" dialogue box when clicked,
instead of directing the user to a helper doc for further instruction.
It achieves this by using the "download" attribute of the <a> html tag.
It works on most modern desktop browsers, but older browsers (e.g. IE)
may display the file instead.
* Adjust font-weight to match other menu items
* Merge two user documentations into one
* Add user-browser-cache=yes to --listen command
* Update "export tiddlywiki core" button hint
* Simpler implementation for switching btw online/offline core URL
Shave off one template by using filtered transclusion to control
online/offline core URL.
* Update user doc
Update the user doc to clarify that build index step is not needed to
initialize a new wiki.
* Rename twcore to tiddlywikicore
* Reformat the user doc
* Rework export-tiddlywikicore button
Popup an error message instead of disabling the button when export
core cannot be performed.
* Revert "Correct text & fill colors on some disabled buttons"
This reverts commit e7dbb7e712.
* Merge
* Clean up
* More clean up
* Ensure image import works when type is not set, clean up post import actions
* Removed spurious new line
* For non image files insert a tiddler link
* Added documentation for new settings and features
* Alternative switcher using a parameter via tm-show-switcher
* Add CSS class for centered modals
* Changed keyboardshortcut and removed transition CSS
* Resolved wording issues
* First pass at a fix for system tiddler sync issues
* Add new filter syncFromServer
* Undo previous attempt at a fix
* Added a flag to control sync of system tiddlers from server
* Make tag-picker work with every field
* Make EditTemplate/tags work with every field
* Make NewTiddlerTags and NewJournalTags selectable through tag-picker
* Update tag-picker Macro Docs
* Add fieldmangler to Manager Tags-Sidebar
This makes the tm-add-tag messages in the tag-picker work
* Add actions parameter back to tag-picker macro
* Add div so that tag-dropdown shows below input field
* Add missing tc-btn-dropdown class to dropdown button ...
... for consistency with dropdown buttons in EditTemplate
* Update tag-picker.tid
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* fix 4532. Links should not add unwanted whitespace, since this causes problems with CSS styling
* remove whitespace from tiddler title and add a little bit of margin-right to the tiddler icon.
* use default parameters for link handling, which results in less code
* introduce tc-viewswitcher class to be able to style icon distance to text
* First commit
* Add throttling of saves
Now we refuse to save a tiddler more often than once per second.
* Wait for a timeout before trying again after an error
* Modest optimisations of isDirty() method
* Synchronise system tiddlers and deletions from the server
Fixes two long-standing issues:
* Changes to system tiddlers are not synchronised from the server to the browser
* Deletions of tiddlers on the server are not propagated to browser clients
* Make sure we update the dirty status even if there isn't a task to perform
* Replace save-wiki button with popup sync menu
* Remove the "Server" control panel tab
We don't need it with the enhanced sync dropdown
* Add indentation to the save-wiki button
* Fix spacing in dropdown menu items
* Switch between cloud icons according to dirty status
* Add a menu item to copy syncer logs to the clipboard
* Improve animated icon
* Remove indentation from save-wiki button
@pmario the annoying thing is that using `\trim whitespace` trims significant whitespace too, so it means we have to use <$text text=" "/> when we need a space that won't be trimmed. For the moment, I've removed the indentation but will keep thinking about it.
* Further icon, UI and copy text tweaks
Move the icons and styles from the core into the TiddlyWeb plugin
* Clean up PR diff
* Tweak animation durations
* Break the actions from the syncer dropdown into separate tiddlers
@pmario I think this makes things a bit easier to follow
* Refactor syncadaptor creation and logging
The goal is for the syncadaptor to be able to log to the same logger as the syncer, so that the "copy syncer logs to clipboard" data is more useful.
* Don't transition the dirty indicator container colour, just the SVG's colour
* Only trigger a sync for changes to tiddlers we're interested in
Otherwise it is triggered by the creation of the alert tiddlers used to display errors.
* Restore deleting local tiddlers removed from the server
(I had commented it out for some testing and accidentally commited it).
* Guard against missing adaptor info
* We still need to trigger a timeout when there was no task to process
* Avoid repeatedly polling for changes
Instead we only trigger a timeout call at if there is a pending task (ie a tiddler that has changed but isn't yet old enough to save).
* Lazy loading: include skinny versions of lazily loaded tiddlers in the index.html
* Introduce _is_skinny field for indicating that a tiddler is subject to lazy loading
* Remove savetrail plugin from prerelease
It doesn't yet work with the new syncer
* Make the savetrail plugin work again
* Clear outstanding alerts when synchronisation is restored
* Logger: only remove alerts from the same component
Missed off 9f5c0de07
* Make the saving throttle interval configurable (#4385)
After switching Bob to use the core syncer the throttle interval makes saving feel very sluggish compared to the message queue setup that I had before.
The editing lock that I use to prevent conflicts with multiple users doesn't go away until the save is completed, and with the 1 second delay it means that if you edit a tiddler and save it than you have to wait one second before you can edit it again.
* Tweaks to appearance of alerts
* Exclude temp tiddlers from offline snapshots
Otherwise alerts will persist
* Tweak appearance of status line in dropdown
* Update release note
* Web server: Don't include full path in error messages
Fixes#3724
* In change event handler check for deletions
* Disable the official plugin library when the tiddlyweb plugin is loaded
* Hide error details from browser for /files/ route
See https://github.com/Jermolene/TiddlyWiki5/issues/3724#issuecomment-565702492 -- thanks @pmario
* Revert all the changes to the relationship between the syncer and the syncadaptor
Previously we had some major rearrangements to make it possible for the syncadaptor to route it's logging to the logger used by the syncer. The motivation is so that the "copy logs to clipboard" button is more useful.
On reflection, changing the interface this drastically is undesirable from a backwards compatibility perspective, so I'm going to investigate other ways to achieve the logger sharing
* Make the tiddlyweb adaptor use the syncer's logger
So that both are availavble when copying the syncer logs to the clipboard
* Update release note
* Support setting port=0 to get an OS assigned port
Quite useful
* Update code comment
* UI: Use "Get latest changes from server" instead of "Refresh"
* Add getUpdatedTiddlers() method to syncadaptor API
See https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-573579495
* Refactor revision handling within the syncer
Thanks @pmario
* Fix typo in tiddlywebadaptor
* Improve presentation of errors
See https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-573695267
* Add docs for getTiddlerRevision()
* Remove unused error animation
* Update comment for GET /recipes/default/tiddlers/tiddlers.json
* Optimise SVG cloud image
* Add optional list of allowed filters for get all tiddlers route
An attempt to address @Arlen22's concern here:
https://github.com/Jermolene/TiddlyWiki5/pull/4373#pullrequestreview-342146190
* Fix network error alert text translatability
* Fix error code and logging for GET /recipes/default/tiddlers/tiddlers.json
Thanks @Arlen22
* Flip GET /recipes/default/tiddlers/tiddlers.json allowed filter handling to be secure by default
* Validate updates received from getUpdatedTiddlers()
* Add syncer method to force loading of a tiddler from the server
* Remove the release note update to remove the merge conflict
* Fix crash when there's no config section in the tiddlywiki.info file
* Use config tiddler title to check filter query (merge into fix-syncer) (#4478)
* Use config tiddler title to check filter query
* Create config-tiddlers-filter.tid
* Add config switch to enable all filters on GET /recipes/default/tiddlers/tiddlers.json
And update docs
* Fix bug when deleting a tiddler with a shadow
Reported by @kookma at https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-604027528
Co-authored-by: jed <inmysocks@fastmail.com>
Co-authored-by: Arlen22 <arlenbee@gmail.com>
* remove   from tag pill in edit mode
PR: fix missing space between edittemplate tags #3585 introduced an unbreakable space ...
The ` ` isn't needed and **causes problems**, if users copy&paste the tag text, because the "new" tag in the text input field now contains an space in front of the tag. This space invalidates the tag, so it doesn't function anymore.
see [comment in GG](https://groups.google.com/d/msg/tiddlywiki/RQEyqPQIZSM/uaU7lgJJAAAJ) .. I also had a problem like this some time ago, which costed me several hours of debugging.
* Update base.tid
* Update tag.tid
#4093 and #4100 are bundled in this PR
* qualified state-tiddlers for the tags input and fieldname + fieldvalue inputs
* newTagName, newFieldNameTiddler and newFieldValueTiddler variables defined in EditTemplate (all qualified through `qualify` macro)
* save-tiddler-actions macro in the EditTemplate (reused by the save-tiddler button)
* enter (configurable) in the fieldvalue field adds the field and sets focus to the next fieldname input
Edit:
* storyview="pop" for fields list
* make tag-picker add-button compliant with enter-actions
... the `$actions$` way throws a filter syntax error in some cases, the `<<add-tag-actions>>` way is more solid
* Update tags.tid
remove tag-picker-actions
* First pass at dynamic loading/unloading
* Show warning for changes to plugins containing JS modules
* Use $:/config/RegisterPluginType/* for configuring whether a plugin type is automatically registered
Where "registered" means "the constituent shadows are loaded".
* Fix the info plugin
The previous mechanism re-read all plugin info during startup
* Don't prettify JSON in the plugin library
* Indicate in plugin library whether a plugin requires reloading
* Display the highlighted plugin name in the plugin chooser
And if there's no name field fall back to the part of the title after the final slash.
5d36b484c6 swapped the "emptyValue" and "value" that determine the
HTML-class for toc items, but did not change the default values for
"itemClassFilter" in "toc" and "toc-expandable" to reflect this.
* add PaletteManager
* add hint for "external" palette-names
* macro utility, for local \import only
this tiddler is never meant to be tagged $:/tags/Macro
contains only a colour macro which allows to call `<<colour "...">>` within a tiddler and get the parameter-name instead of the resolved color
used in the PaletteManager to reveal the original color below the color that just uses its color with the colour macrocall
example:
```
\define get-real-index(string)
\import $:/core/macros/utils
<$wikify $name="result" text="""$string$"""> <- does the "colour" macrocall, but the one that returns the parameter name
<<result>>
</$wikify>
\end
<$set name="color" value={{{ [{$:/palette}getindex[color-of-interest]] }}}>
-> <<colour primary>>
<$wikify name="real-color-index" text="""<$macrocall $name="get-real-index" string=<<color>>/>""">
<<real-color-index>> -> primary
...
```
* transclude PaletteManager in snippets/paletteeditor
* transclude PaletteManager in core/ui/ControlPanel/Palette
* Update ControlPanel.multids
* add style for color inputs in PaletteManager
* Update PaletteManager.tid
* Update PaletteManager.tid
* add tooltips & aria-labels
* Update ControlPanel.multids
* Update PaletteManager.tid
* Update PaletteManager.tid
* Update PaletteManager.tid
* fix draggable lists for firefox (sticky placeholders)
ff doesn't like whitespace and also those entities make problems
placeholder is styled in vanilla base
* tc-droppable-placeholder styles for tagged-draggable ...
and links-draggable lists
* make it beautiful
* Added fixes for special characters (e.g. double quotes) (including @BurningTreeC and @Jermolene suggestions)
* Removed a lot of redundant code
* Set a default value for "tree" macro prefix parameter ($:/)
* toc macros: use stateTitle and setTitle
* tree macros: use stateTitle and setTitle
* TagManager: use popupTitle, stateTitle setTitle
* body viewtemplate: use stateTitle for folded-state
* import-listings: use stateTitle and setTitle
* [Further TOC fixes] - FollowUp: fix tag macros
this fixes the tag macros when titles are used that contain quotes, especially triple quotes and more
* Update tag.tid
By almost entirely eliminating text subsitution, we can avoid the situations where special characters in tags or titles gets the macro confused.
These are quite intricate changes, and so I'd appreciate any help reviewing and testing, many thanks.
Fixes#3427
allows to override styles more easily via new class tc-chosen
----
updated all of storyview, theme, palette, language
» both in ControlPanel as well as PageControls
» removed "current ..." form switchers as it's redundant
» streamlined toolbar buttons in ControlPanel, especially less spacing
----
fixed dropdown hover colour override
if I wouldn't then it would go blank owed to default drop-down styles
----
polished styles
» chosen items now more emphasized while curspor not indicating a link
» removed underline when hovering, used highlighted border colours instead
----
use snippets languageswitcher for pagecontrols button, after all
----
wrap all switchers in tc-chooser
----
apply big font only to buttons, not reveals in pagecontrols
----
moved language switcher wrapper class to snippet
improved language switcher image alignment
----
make tiddler and ControlPanel view behave the same. add generic tc-check-list setting. add generic input type checklist, vertical alignment.
now using css rem to address drop-downs for pagecontrols
thanks @pmario
removed css artefacts in vanilla/base from before merging @pmario's PR
with comments being baked-in I don't think we want these in the code
css simplification for .tc-chosen and tc-chooser-item
fixes#2970
Also fixes the nesting. If a template is defined for the list item, it should define the link as is done for **list-tagged-draggable**, i.e. the template defines any link widget it contains.
* tc-body transparent if background attachment
if you go fullscreen with the fullscreen button, the tc-body background color hides the background attachments - so make it transparent if $:/themes/tiddlywiki/vanilla/settings/backgroundimage isn't empty
* if background attachment macro
macro to make tc-body background transparent
* Create the "tree" global macro file (tree.tid)
* Added styles for the new "tree" global macro
* Update Explorer tab
* Cleaning the macro of unneeded code
I have chosen to keep the slash suffix in the branch node titles to go along with the rest (e.g. root node), so the "clean-chunk" macro isn't needed anymore.
* Minor fix
* allows to add a new tagname hitting enter
see: https://groups.google.com/forum/#!topic/tiddlywiki/wqQ8jPYG-X4
* revert changes to vanilla/base
* added "Special Keys" to KeyboardShortcuts
* added info to Creating and editing tiddlers
did not add current version of <<.from-version "5.1.14">> because it
would interrupt the flow. When changed from a noisy "New in 5.1.14" to
"(new in 5.1.14)" we might add the version info here
* revert setText & added inline styles to vanilla base
* remove fieldmangler
* commit initial edittemplate tags to merge master
* ok, now really revert to initial edittemplate tags
* move add tag via enter into tag-picker macro(s)
* add recursion protection first take
* fix problem with selectable expand
* ust path for toc-state variable instead of tag
* reactivate disabled macro call.
* 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
I’m fixing this now to show how the tabs macro can be changed to
accommodate the change, but we may yet decide to reverse out the change
in order to maintain backwards compatibility.
One problem with changes like this is that there’s no easy way to find
out where it impacts the core UI. The tabs macro is now fixed, but
perhaps there’s more obscure things that are still broken in the core.
If we do opt to reverse the change to preserve backwards compatibility,
we could add a way to explicitly trigger the new behaviour. For
example, a new attribute `updateState=“yes”`.
Yet another alternative is to make completely new alternative to the
list widget with revised semantics, that authors can opt-in to. For
example `<$loop>`. (There was another issue we discussed a year or two
ago about adding support for an index variable which may be a candidate
for fixing at the same time).
* 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
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.
Fixed a side-effect of 03519c14b0 from
@matabele whereby the current tiddler is overwritten by the
`<$tiddler>` widget, which means that it is not accessible when
rendering the caption of the tab.
This causes a problem with eg the “Add Plugins” modal where it breaks
the count on the tabs.