1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-14 13:54:50 +00:00
Commit Graph

402 Commits

Author SHA1 Message Date
Arlen22
be026aa308
Revert "Add server sent events (#5279)" (#5880)
This reverts commit 17b4f53ba2 according to Github Desktop.

git checkout that commit
revert commit in GitHub Desktop
git switch -c revert-sse
uncommit in Github Desktop
switch to master, bringing changes
resolve deletions with command line
2021-07-14 17:16:57 +01:00
Jeremy Ruston
d455072f13
Add support for JSON-formatted tiddler store, and make it the default (#5708)
* Add support for JSON-formatted tiddler store, and make it the default

The change to `getTiddlersAsJson()` is to allow experimentation

* Move JSON tiddlers into their own store area, and fix support for encrypted tiddlers

Also add a dummy old-style store area for backwards compatibility

The current arrangement is that JSON tiddlers will always override old-style tiddlers.

* Use the deserialiser mechanism to decode the content

* Refactor $:/core/modules/deserializers.js before we start extending it

Cleaning up the helper function names and ordering

* Drop support for the "systemArea" div

It was only used in really old v5.0.x

* Update deserializer to support JSON store format and add some tests

* Life UI restrictions on characters in fieldnames

* Add another test case

* Correct mis-merge

* Remove toLowerCase() methods applied to fieldnames

* Insert line breaks in output of getTiddlersAsJson (#5786)

Rather than have the entire store on one line, insert a line break
after each tiddler.

* Refactor #5786 for backwards compatibility

* Only read .tiddlywiki-tiddler-store blocks from script tags

Prompted by @simonbaird's comment here: https://github.com/Jermolene/TiddlyWiki5/pull/5708#discussion_r648833367

* Clean up escaping of unsafe script characters

It seems that escaping `<` is sufficient

* Add docs from @saqimtiaz

Thanks @saqimtiaz

* Docs tweaks

* Remove excess whitespace

Thanks @simonbaird

* Fix templates for lazy loading

* Remove obsolete item from release note

* Clean up whitespace

* Docs for the jsontiddler widget

* Fix whitespace

Fixes #5840

* Comments

* Fix newlines in JSON store area

* Remove obsolete docs change

Co-authored-by: Simon Baird <simon.baird@gmail.com>
2021-07-14 09:15:30 +01:00
cdruan
23fec9e390
Fix faulty external-js single-file wiki (#5570)
* 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.
2021-07-06 15:02:21 +01:00
Mario Pietsch
afa653a7aa
Improve import cancel warning (#5812) 2021-06-21 20:58:58 +01:00
Joe Bordes
51fd02d9b6
i18n(en-GB) apply grammarly recommendations found while translating es-ES (#5733) 2021-05-30 18:51:44 +01:00
Joe Bordes
1a6d3e686b
i18n(EditorPreview) translate difference view caption (#5732) 2021-05-30 18:49:57 +01:00
Mario Pietsch
c6ed4aa84e
allow us to import formerly blocked system tiddlers (#5479) 2021-05-25 22:21:57 +01:00
Saq Imtiaz
05d38054c8
Drag and drop images in the editor to import and insert (#5699)
* 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
2021-05-19 21:52:43 +01:00
FlashSystems
f4d7b2c7f7
Network performance optimizations for node.js (#5436) 2021-05-08 16:05:39 +01:00
Simon Baird
30d23196b6
Add 401 and 403 error messages for the put saver (#5638) 2021-04-27 10:14:04 +01:00
Simon Baird
5e236d35a5
Revise the TiddlySpot Saver settings form (#5628)
Mention TiddlyHost and link to some documentation on the
configuration options.

Also remove the TiddlySpot control panel and backups links since
they no longer work.

Notes:
* The last three fields are no use for TiddlySpot or TiddlyHost, but
  it's possible that someone, somewhere is still using the old
  store.php from Bidix's UploadPlugin, and would miss them if they
  were removed.

  I'd be happy to remove them in a future PR, if it's decided they
  can be retired.

  (If they were removed, I could delete the last row here:)
  https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot

* It's still called "TiddlySpot Saver" which I think is fine for
  now. TiddlyHost might use a different saving method in future
  so keeping the existing name seems best.
2021-04-24 08:54:44 +01:00
jeremy@jermolene.com
a38dc17300 Extend render command to allow multiple variables to be passed 2021-03-19 17:09:53 +00:00
jeremy@jermolene.com
ef76349c37 Add support for utils-browser modules 2021-02-22 12:11:39 +00:00
Nicolas Petton
17b4f53ba2
Add server sent events (#5279)
* Create server-sent-events.js

* Create sse-change-listener.js

* Implement server sent events

* Convert to ES5 and wrap in function

* Use the host string from tiddlyweb

* Improve comments in sse-server.js

* Can't use object reference as key

* Add retry timeout

* Fix a bug

* bug fix

* Fix formatting

* Fix ES5 compat

* capitalize comments

* more fixes

* Refactor tiddlywek/sse-server.js

* Extract helper functions for handling wikis and connections.
* Replace JSDoc comments.
* Fix formatting according to TW core.
* Simplify the logic for adding and removing connections.

* Fix formatting of tiddlyweb/sse-client.js

Fix formatting according to TW core.

* Fix formatting of server-sent-events.js

Fix formatting and comments following TW core guidelines.

* Extract a debounce function in sse-client.js

* Avoid using startsWith in server-sent-events.js

startsWith is part of ES2015, while TiddlyWiki uses the 5.1 dialect.

* New sse-enabled WebServer parameter

* If not set to "yes", disabled SSE request handling.
* Add documentation for the parameter in core/language/en-GB/Help/listen.tid
* Add new tiddler editions/tw5.com/tiddlers/webserver/WebServer Parameter_ sse-enabled.tid

* Disable polling for changes if SSE is enabled

* Add sse_enabled to /status JSON response
* Store syncer polling status in $:/config/SyncDisablePolling
* Handled disabling polling in core/modules/syncer.js

* Simply boolean logic in syncer.js

* Delete trailing whitespaces in syncer.js

Co-authored-by: Arlen22 <arlenbee@gmail.com>
2021-01-15 10:37:55 +00:00
jeremy@jermolene.com
2f8a100bab Clarify TiddlySpot warning text 2020-12-22 15:42:21 +00:00
Jeremy Ruston
4d9e6831bb
Rename "references" to "backlinks" in the tiddler info panel (#5143)
* Rename "references" to "backlinks" in the tiddler info panel

* Change docs references to "references" to "backlinks"
2020-11-29 18:32:22 +00:00
Simon Huber
ce937595d7
Add Button to remove tags from tiddlers $:/config/NewTiddler/Tags and $:/config/NewJournal/Tags (#5140)
* Update Basics.tid

* Update ControlPanel.multids

* Update Basics.tid

* Update ControlPanel.multids

* Update ControlPanel.multids

* Update ControlPanel.multids
2020-11-29 12:52:50 +00:00
Simon Huber
b3cbd7d733
Add TiddlySpot-ReadOnly Message-Box to Tiddlyspot Saving Panel (#5133)
* Add message box to TiddlySpot Saving panel

* add readonly message
2020-11-28 21:22:32 +00:00
Simon Huber
af72fdf245
Add caption to ControlPanel LayoutSwitcher (#5103)
* Update LayoutSwitcher.tid

* Update ControlPanel.multids
2020-11-23 19:15:04 +00:00
saqimtiaz
aa6f152d35
Add Switcher modal (#5089)
* Alternative switcher using a parameter via tm-show-switcher

* Add CSS class for centered modals

* Changed keyboardshortcut and removed transition CSS

* Resolved wording issues
2020-11-23 17:06:24 +00:00
saqimtiaz
527638d5e6
Improved status messages in ImportListing to remove redundant and irrelevant messages (#5059) 2020-11-17 19:12:41 +00:00
saqimtiaz
d6e055368d
Added docs for action-confirm widget, added default message for widget and improved logic for disabling it. (#5047) 2020-11-16 17:02:22 +00:00
Simon Huber
b63c90e401
Add missing tooltip and aria-label to clear-tag-input button (#5033)
* Add tooltip and aria-label to new clear-tags-input button

* Update EditTemplate.multids
2020-11-13 19:19:55 +00:00
Simon Huber
a6efc14a7c
Add keyboard shortcut to change the sidebar layout (#4952)
* Create change-sidebar-layout keyboard shortcut

* Update shortcuts.multids

* Update ShortcutInfo.multids

* Update Misc.multids
2020-11-01 17:10:19 +00:00
saqimtiaz
9fbcdeb29e
Import UI: add warning about tiddlers that already exist (#4956)
* Added message when tiddler being imported already exists

* Refactored some filters into a shared subfilter, optimized macro definitions
2020-11-01 11:33:02 +00:00
Simon Huber
ef1b7d619a
Make ctrl-Enter in sidebar search also focus the AdvancedSearch input (#4941)
* Update search.tid

* Update Misc.multids

* Update search.tid

* Update search.tid

* Update search.tid

* Update search.tid
2020-11-01 11:23:18 +00:00
saqimtiaz
655501140b
Improvements for Import UI (#4937)
* Fixed bug with old titles used in popup, improved UI for greater rename input size

* Added flexbox utility CSS and use it for import UI
2020-10-29 13:01:17 +00:00
saqimtiaz
9605d94b6c
Import rename (#4928)
* Add UI for renaming tiddlers before import in the import listing

* Removed spurious whitespace
2020-10-28 16:03:04 +00:00
saqimtiaz
c9efa23f02
Named filter run prefixes (#4915)
* First pass at refactoring filter code to support named filter run prefixes

* Remove filter prefix for now

* renamed module type and filter run prefixes

* Moved inline handling for no filter run prefix to 'or' filter run prefix.

* Added error handling for undefined filter run prefixes
2020-10-27 12:24:18 +00:00
Simon Huber
3843c61132
Add ability to cycle Advanced-search tabs by keyboard ... (#4909)
* Update AdvancedSearch.tid

* Update System.tid

* Update Standard.tid

* Update Filter.tid

* Update Shadows.tid

* Update search.tid

* Update shortcuts.multids

* Update ShortcutInfo.multids

* Update Misc.multids

* Update ShortcutInfo.multids

* Update search.tid
2020-10-27 09:03:34 +00:00
Simon Huber
84479bc403
Fix #4826 - Keyboard-driven-inputs clashes with customized search results. (#4875)
* Update search.tid

* Update DefaultSearchResultList.tid

* Update tabs.tid

* Update SearchResults.tid

* Update tabs.tid

* Update SearchResults.tid

* Update search.tid

* Update keyboard-driven-input.tid

* Update shortcuts.multids

* Update ShortcutInfo.multids

* Update Misc.multids

* Update keyboard-driven-input.tid

* Update search.tid

* Update Misc.multids
2020-10-23 15:58:34 +01:00
saqimtiaz
72c07a3f81
Format filter to create formatted date strings (#4785)
* asdate filter to create formatted date strings

* Added format filter operator
2020-09-24 18:35:10 +01:00
jeremy@jermolene.com
97d2af7ebd TiddlySpot Saver: Add link to control panel
Thanks @twmat

Fixes #4778
2020-07-30 19:14:53 +01:00
Simon Huber
0d2df34c58
Keyboard-driven dropdown inputs (#4725)
* Add shortcut descriptions to Misc.multids

* Update framed.js

* Update simple.js

* Add inputActions and refreshTitle to factory.js

* Add inputActions and refreshTitle to edit.js

* Update DefaultSearchResultList.tid

* Update search.tid

* Update ShortcutInfo.multids

* Update shortcuts.multids

* Create keyboard-driven-input.tid

* Update tag-picker.tid

* Create keyboard-driven-input_Macro.tid

* Update EditTextWidget.tid

* Update EditWidget.tid

* Update engine.js

* Update base.tid

* Use primaryListFilter, secondaryListFilter, primaryList and secondaryList

* Update tag-picker.tid

* Update search.tid

* Update DefaultSearchResultList.tid

* Update keyboard-driven-input_Macro.tid

* Fix typo udpate -> update

* Update framed.js
2020-07-13 17:42:55 +01:00
Simon Huber
881aed879b
Fix #4591: Use text field instead of tags field for $:/config/NewJournal/Tags ... (#4600)
* Update Basics.tid

* Update new-tiddler.tid

* Update new-journal.tid

* Update new-image.tid

* Update new-here.tid

* Update new-journal-here.tid

* Update NewJournalTags.tid

* Update NewJournalTags.tid
2020-06-14 09:40:48 +01:00
Simon Huber
5d91c27980
Update rendertiddlers.tid (#4635) 2020-05-14 14:31:32 +01:00
Jeremy Ruston
86296b67aa Plugin Chooser: Distinguish between install, reinstall, update and downgrade 2020-04-13 10:04:14 +01:00
Jeremy Ruston
308ac8c5b0 AddPlugins: Add new "updates" tab 2020-04-09 11:07:13 +01:00
Jeremy Ruston
bc8859b550 AddPlugins: Add a clearer prompt for plugins that have subplugins 2020-04-09 11:06:54 +01:00
Jeremy Ruston
b95723a022
Fix syncer to handler errors properly (#4373)
* 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>
2020-03-30 15:24:05 +01:00
Matthias Bilger
62f8c9353e
Use CamelCase for Gitea (#4496) 2020-03-13 17:36:05 +00:00
Matthias Bilger
52a9f928ae
Added gitea saver (#4491)
* added gitea saver

* create nonexistent file
2020-03-12 15:53:55 +00:00
Simon Huber
0f7e365450
Add color descriptions for menubar-background and ... (#4481)
menubar-foreground to PaletteColours.multids
2020-03-09 21:08:48 +00:00
Simon Huber
5d0e4732b2
Add "none" as an option in the icon dropdown in tag manager (#4361)
* add no-icon option to tagmanager and add ...

... whitespace trims

* Update Misc.multids
2020-01-30 15:52:33 +00:00
Jeremy Ruston
afb7435a88 Remove "hack-to-give-us-something-to-compare-against"
It looked messy in the control panel listing.
2019-11-14 09:23:17 +00:00
Simon Huber
3c365a2567 EditTemplate optimizations (#4104)
#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
2019-10-14 14:31:57 +01:00
Jeremy Ruston
73bb27fd77 Tweak autofocus text in control panel
Also made the trailing punctuation more consistent
2019-10-14 13:19:08 +01:00
Jeremy Ruston
6089c4de29 Extend refresh throttling to tiddlers having a "throttle.refresh" field
See discussion here: https://groups.google.com/d/msgid/tiddlywiki/7738644f-b53f-4fb0-b0df-16243fe51795%40googlegroups.com
2019-10-14 10:42:14 +01:00
Simon Huber
daa24a52bd Add default new-tiddler and new-journal tags mechanism and... (#4314)
* Update Basics.tid

* Update ControlPanel.multids

* Update NewJournal.multids

* Create NewJournalTags.tid

* Update new-tiddler.tid

* Update new-image.tid

* Update new-journal.tid

* Update new-here.tid

* Update new-journal-here.tid
2019-10-13 16:53:52 +01:00
Simon Huber
f0779b58ac Revert "Add default new tiddler tags mechanism and interface (#4307)" (#4312)
This reverts commit 007fc8239b.
2019-10-13 10:19:07 +01:00
Simon Huber
007fc8239b Add default new tiddler tags mechanism and interface (#4307)
* Update ControlPanel.multids

* Update Basics.tid

* Update new-tiddler.tid

* Update new-journal.tid

* Update new-image.tid

* Update new-here.tid

* Update new-journal-here.tid

* Update new-tiddler.tid

* Update new-image.tid

* Update new-journal.tid

* Update new-tiddler.tid

* Update new-image.tid

* Update new-here.tid

* Update new-journal-here.tid

* Update Basics.tid

* Update Basics.tid
2019-10-12 16:30:59 +01:00
Simon Huber
ea6113b255 Fix CamelCase AutoFocus in ControlPanel (#4308)
* from AutoFocus to ~AutoFocus

* Update minifocusswitcher.tid

* Update Basics.tid

* Update body-editor.tid
2019-10-12 15:10:24 +01:00
Simon Huber
bfa3ddd077 Add two missing tooltips: add-tag button and add-field button (#4306)
* add tooltip to field add button

* Update EditTemplate.multids

* Update EditTemplate.multids

* add tooltip to tag-picker add button
2019-10-12 14:10:06 +01:00
Simon Huber
66b68f4a58 Allow configuration of default focus field of new tiddlers (#4238)
* add editFocus attribute to edit widget

* add focus condition to title editTemplate

* add focus condition to body-editor editTemplate

* add focus attribute to type editTemplate

* add focus attribute to fields editTemplate

* add focus attribute to tag-picker

* add $:/config/AutoFocus tiddler

... default focus is title

* Update Basics.tid

* Update ControlPanel.multids

* Create minifocusswitcher.tid

* Update minifocusswitcher.tid

* Update Basics.tid

* Update body-editor.tid
2019-10-12 12:04:10 +01:00
Jeremy Ruston
ded9d4074c Plugin library chooser improvements
* Make "Also requires:" translatable
* Clearer styling for sub-plugins
* Documentation tweaks
2019-09-28 10:06:18 +01:00
Jeremy Ruston
1c23059204
Dynamic loading/unloading of plugins (#4259)
* 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.
2019-09-16 12:15:39 +01:00
Xavier Cazin
59264bbf2a fr-FR translation updates (#4167)
* Typo in GitLab saver link

* Improve fr-FR DateFormat for ViewTemplate subtitles

* Update fr-FR translations for Saving/GitService
2019-08-07 18:01:02 +01:00
Bimba Laszlo
b5653babdf Add GitLab saver, apply common lingo to Git savers (#3931)
* Transform GitHub saver to work with GitLab as well

You can choose which provider you want to use, the data is given in the
same place.

I tried to avoid code duplication, so service providers' unique
properties are in separate files, the settings of the selected provider
are loaded.

In two fields I am not sure that it fits into the current structure:

* module-type: gitservice
  Which module is a `gitservice` type, it will be listed in the
  drop-down menu.
* default-api-url: https://gitlab.com/api/v4
  The default URL to access the provider's API.

This is just a sketch, not a final version, suggestions for modification
are welcome!

* Rename saver from GitHub to GitService, update docs

* Split GitHub and GitLab to separate savers, apply common lingo

Sadly, it doesn't seem to make much sense to search for common parts in
the code, because there might be a Git service that is very different
from the GitHub API (such as BitBucket). Therefore, I feel that Git
savers are not able to share other than the translations.

I deleted the defaults values from the translations and set it to the
text entry because they should not depend on the translations.

* Add more information about the password field

It is not clear how to create a personal access token, thus added a link
to the help pages. In addition, GitLab only accepts personal access
token, GitHub also accepts the password, so I made this clear.

* Extract commit message to lingo

* Fix indentation

* Use improved base64 encoder

Fix conflict with a06acc4eb8
2019-07-31 21:38:52 +01:00
Simon Huber
cf4c4532c3
Update Buttons.multids 2019-07-04 09:00:34 +02:00
Jeremy Ruston
7781cb1f8b Streamline wording for sidebar search shortcut 2019-06-28 17:35:17 +01:00
Jeremy Ruston
bf51ae0019 Add keyboard shortcut for focusing sidebar search
Fixes #4020

Fixes #4025
2019-06-28 17:28:24 +01:00
Simon Huber
36c7e82cc0 Add/refactor PaletteManager (#3832)
* 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
2019-06-26 12:36:13 +01:00
Jeremy Ruston
147d758931 Add version tags for deletetiddlers and savewikifolders commands
@BramChen -- I added the tag to the Chinese translations, too, let me know if it is not right.
2019-05-31 08:38:34 +01:00
Jeremy Ruston
5b09881679 Add new deletetiddlers command 2019-05-30 16:54:57 +01:00
Jermolene
0a5c826816 GitHub Saver: Fix ServerURL name 2019-04-16 10:15:58 +01:00
Jermolene
25c0ebb523 GitHub Saver: Make server URL configurable 2019-04-15 21:30:59 +01:00
Jermolene
373afd72c8 Add savewikifolder command
Makes it much easier to convert a TiddlyWiki HTML file into a full wiki folder.
2019-04-14 12:04:00 +01:00
Jermolene
aa5eaa98fc Add a GitHub saver
Fixes #3890

I think it would be useful to have a simple tutorial for setting up saving via GitHub pages.
2019-04-08 21:08:58 +01:00
Jermolene
f4fe254038 Clarify help for render command
The ordering of the bullet lists didn't match the order of the parameters
2019-03-16 13:25:34 +00:00
Jermolene
12630d4a91 Provide an option for the load command to not error if no tiddlers are found 2019-03-08 16:43:04 +00:00
Jermolene
0e6855eba8 Add advanced search canned filter for "tiddlers modified this session" 2019-02-08 11:07:06 +00:00
Jermolene
e5f3301c1c Merge branch 'pr/3634' 2019-02-05 16:21:06 +00:00
Jermolene
b08a7e3f04 Wording tweaks 2019-02-05 16:20:44 +00:00
bimlas
ce256102a7 Suggested slightly "better English" wording for the warning 2019-02-04 22:09:31 +01:00
Moritz Ulrich
049244e8a8 WebServer: Enable deflate and gzip compression (#3677)
* get-index: Enable deflate and gzip compression

* Spaces -> Tabs

* listen: Add optional `gzip=yes` parameter (defaults to "no")

* get-index: Add comment explaining the usage of `zlib.*Sync` instead of async.
2019-01-27 16:23:24 +00:00
00SS
02fbae4200 Update field description lingo (#3698)
Made this new PR for for the master branch, and closed #3697 
This PR is needed for text shown in the update PR #3680 which is for the tiddlywiki-com branch
2019-01-27 14:52:29 +00:00
bimlas
18ed2faf82 Implement in $:/core/upgraders instead of navigator.js
The core module tiddlers are not blocked, they are only marked.
2018-12-10 23:05:41 +01:00
bimlas
38b088eabf Warn when importing core tiddlers
See https://groups.google.com/d/msg/tiddlywiki/YZlPGP0qX1o/3tUpyoHXDgAJ
2018-12-10 09:20:58 +01:00
Xavier Cazin
ea76a868bf Update to fr-FR language translations (#3583)
* Update to fr-FR language translations

* Add missing space

* Fix a line feed mistake
2018-11-29 09:48:11 +00:00
Marxsal
9268a8c3ca Info about using 0.0.0.0, plus warning about using it. (#3519)
* Info about using 0.0.0.0, plus warning about using it.

* Moved information to WebServer. Incls listen.

* More warnings about n.n.n.n
2018-11-29 09:47:37 +00:00
Jermolene
32c8ef1d62 Docs typo
Thanks @pmario
2018-11-24 14:18:59 +00:00
Jermolene
1f296951d4 Minor tweaks for #3534
* Minor rewording of prompt text
* Moved the colon into the translation string, reasoning that it may need to be changed for languages that use punctuation differently
* Corrected expand/collapse arrows
* Moved prompt into expand/collapse button, making it easier to hit use
2018-11-15 15:43:16 +00:00
Bimba Laszlo
88664f0286 Show backlinks on rename (#3534)
* List backlinks when renaming tiddler

* List references inplace

* TiddlerInfo/References accepting specific tiddler

If `operandTitle` is set, it will show its references instead of current
tiddler's.

It's purpose is to prevent code duplication (the references are listed
when renaming tiddler).

* Don't use variable for References template, use <$tiddler>

Set the `current` to desired title with `<$tiddler>` widget.

* List references in a separate block

* Rename state tiddler

* Use qualified state
2018-11-15 15:18:38 +00:00
Jermolene
7d0b255a2a Improve "copy to clipboard" notification text 2018-08-17 09:29:23 +01:00
Jermolene
5a2e87eb09 Extend permalink/permaview to optionally copy URL to the clipboard
Fixes #3255
2018-08-16 19:39:18 +01:00
Talha Mansoor
e0be9a3d09 Add <select> color setting to the palette (#3360)
* Add <select> color setting to the palette

* Signing the CLA
2018-07-19 17:25:35 +01:00
snlhnk
c05c0d3df6 Module-ize server routes, add static file support and other enhancements(#2679)
* Module-ize server routes and add static file support (#2510)

* Refactor server routes to modules

New module type: serverroute

Caveats: Loading order is not deterministic but this would only matter
if two route modules attempted to use the same path regexp (that would
be silly).

* Add static assets plugin

This plugin allows the node server to fetch static assets in the /assets
directory. I felt that this was a feature that goes above the core
functionality. That is why I added it as a plugin. with the modular
route extensions this was a breeze.

* Add serverroute description to ModuleTypes

* Coding standards tweaks

* Fix filename typo

* Move support for attachments from a plugin into the core

* Missing "else"

* Refactor server handling

* Introduce a new named parameter scheme for commands
* Move the SimpleServer class into it's own module
* Deprecate the --server command because of the unwieldy syntax
* Add a new --listen command using the new syntax

For example:

tiddlywiki mywiki --listen host:0.0.0.0 port:8090

* Add check for unknown parameters

* Add support for multiple basic authentication credentials in a CSV file

Beware: Passwords are stored in plain text. If that's a problem, use an authenticating proxy and the trusted header authentication approach.

* Refactor module locations

* Rename "serverroute" module type to "route"

* Remove support for verifying optional named command parameters

The idea was to be able to flag unknown parameter names, but requiring a command to pre-specify all the parameter names makes it harder for (say) the listen command to be extensible so that plugins can add new optional parameters that they handle. (This is particularly in the context of work in progress to encapsulate authenticators into their own modules).

* Refactor the two authenticators into separate modules and add support for authorization

* Correct mistaken path.join vs. path.resolve

See https://stackoverflow.com/a/39836259

* Docs for the named command parameters

I'd be grateful if anyone with sufficient Windows experience could confirm that the note about double quotes in "NamedCommandParameters" is correct.

* Be consistent about lower case parameter names

* Do the right thing when we have a username but no password

With a username parameter but no password parameter we'll attribute edits to that username, but not require authentication.

* Remove obsolete code

* Add support for requiring authentication without restricting the username

* Refactor authorization checks

* Return read_only status in /status response

* Fix two code typos

* Add basic support for detecting readonly status and avoiding write errors

We now have syncadaptors returning  readonly status and avoid attempting to write to the server if it's going to fail

* Add readonly-styles

We hide editing-related buttons in read only mode

I've made this part of the tiddlyweb plugin but I think a case could be made for putting it into the core.

* Add custom request header as CSRF mitigation

By default we require the header X-Requested-With to be set to TiddlyWiki. Can be overriden by setting csrfdisable to "yes"

See https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Protecting_REST_Services:_Use_of_Custom_Request_Headers

* Add support for HTTPS

* First pass at a route for serving rendered tiddlers

cc @Drakor

* Tweaks to the single tiddler static view

Adding a simple sidebar

* Switch to "dash" separated parameter names

* Typo

* Docs: Update ServerCommand and ListenCommand

* First pass at docs for the new web server stuff

Writing the docs is turning out to be quite an undertaking, much harder than writing the code!

* Get rid of extraneous paragraphs in static renderings

* Rejig anonymous user handling

Now we can support wikis that are read-only for anonymous access, but allow a user to login for read/write access.

* More docs

Slowly getting there...

* Static tiddler rendering: Fix HTML content in page title

* Docs updates

* Fix server command parameter names

Missed off 30ce7ea

* Docs: Missing quotes

* Avoid inadvertent dependency on Node.js > v9.6.0

The listenOptions parameter of the plain HTTP version of CreateServer was only introduced in v9.6.0

cc @Drakor @pmario

* Typo
2018-07-18 16:54:43 +01:00
Jermolene
1ce9973bed Add optional debug logging to the server command 2018-06-20 12:43:41 +01:00
Jermolene
6e2b4ebf3e Remove print-tiddler-window button for v5.1.17
We'll reconsider it for v5.1.18
2018-05-12 11:20:43 +01:00
Jermolene
523060e823 Add new "print tiddler" button for the view toolbar
It works by opening the tiddler in a new window and then triggering the browser print dialogue.
2018-05-10 11:33:23 +01:00
Jermolene
c569df4bd4 Update hint for sticky titles option
Fixes #3249
2018-05-03 16:14:05 +01:00
Cameron Fischer
7e58866499 Added present-but-empty list-after functionality (#3219)
This places the list item at the end of the list when its 'list-item' field
is an empty string.
2018-04-24 16:58:09 +01:00
Jermolene
9e03264ebe Add pluggable previews to the import listing 2018-04-03 17:50:57 +01:00
Jermolene
633208958c Docs: Clarify example of using environment variables for port number 2018-03-29 12:34:50 +01:00
Jermolene
f4fd5e76f8 Server command: support environment variables for specifying port number 2018-03-28 11:58:46 +01:00
BurningTreeC
e92e109162 Transclusion -> Transcludify (#3173)
my mistake, sorry to all!
2018-03-19 15:54:57 +00:00
Jeremy Ruston
aa7b18427f
Incorporate “diff” engine to show visual differences (#3112) 2018-03-16 20:38:35 +00:00
Jermolene
c0569849d2 Add rotate-left button to bitmap editor toolbar 2018-03-12 12:45:56 +00:00
BurningTreeC
540cd1a286 EditorToolbar: add "transclusion" and "wikilink" buttons (#3155)
* add transclusion "image" for editor button

* add wikilink "image" for editor button

* add wikilink editor toolbar button

* add transclusion editor toolbar button

* add transclusion/wikilink button styles

* add transclusion/wikilink button captions & hints

* add german captions/hints

* revert styles not needed anymore

* update transcludify icon

* update linkify icon

* update transcludify icon

* update german

* Update Buttons.multids

* Delete wikilink.tid

* Delete transclusion.tid
2018-03-06 12:44:42 +00:00
BurningTreeC
8030ea0fd6 Make new tiddler title editable in ControlPanel (#3149)
* add option to configure new tiddler title

there may be users that don't like to see the word tiddler everywhere
this makes changing titles easier to access

* controlpanel - basics - new tiddler title prompt

* controlpanel-basics- newtiddler title prompt

* controlpanel - basics - new tiddler prompt
2018-03-05 11:24:29 +00:00