1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-07-03 10:43:16 +00:00
Commit Graph

3825 Commits

Author SHA1 Message Date
Robin Munn
5202441769
Add suffix and parameter to trim operator (#4811)
* Add suffix and parameter to trim operator

Fixes #4809

* Unit tests for new trim operator parameters

* Mention trim operator in 5.1.23 release notes

* Address review comments

* Move regex escaping into utils.js trim functions

This way the trimPrefix and trimSuffix functions from utils.js are safe
to call without regex-escaping their parameters, which should make them
easier to use from other parts of the Javascript code.
2020-08-29 12:27:58 +01:00
jeremy@jermolene.com
8497e5b95d GitHub/Gitlab/Gitea savers: Handle empty paths correctly
Fixes #4656
2020-08-28 15:28:34 +01:00
Cameron Fischer
b86bbf3fc4
Compressing $set chains into one $vars (#4659) 2020-08-28 14:53:20 +01:00
saqimtiaz
48c6146ab6
Link widget: Include original event in tm-navigate (#4724) 2020-08-27 15:52:25 +01:00
ento
259b45065a
Fix server error when saving a new tiddler created by following a tiddler link (#4770)
* Initialize draft tiddler with empty text

Otherwise, when the tiddler has a meta file,
$tw.utils.saveTiddlerToFile will call fs.writeFile with the content
to write as `undefined`. Depending on the version of Node, this
results in the string "undefined" getting saved or a TypeError.

* Remove what seems to be a leftover debug log
2020-08-27 15:45:34 +01:00
Simon Huber
aa08210e44
Fix #4795 - PaletteManager showing wrong tooltip (#4796) 2020-08-27 15:40:39 +01:00
jeremy@jermolene.com
a2796d89ab Fix httpRequest() header handling
Header names are not case sensitive, so the old code failed if it was called with a "Content-Type" header
2020-08-17 18:44:36 +01:00
Robin Munn
c23eedd069
Fix incorrect base64 encoding of astral-plane text (#4813)
Most astral-plane text is emojis like U+1F4DA BOOKS (📚), but some
languages like Osage have their alphabet entirely in the supplementary
multilingual plane as well. For proper support of languages like Osage,
and newer emojis, the UTF-8 decode and encode functions need to properly
handle codepoints above U+FFFF, which are represented by a surrogate
pair in Javascript strings.
2020-08-17 17:33:46 +01:00
jeremy@jermolene.com
f74c49f393 Fix syncing issues with external JS template
Fixes #4808
2020-08-14 11:06:08 +01:00
Adithya Badidey
8cf458d3b3
Adding SolarizedDark Palette, updated SolarizedLight and one tiny UI fix (#4799)
* Fixed Overflow svg fill

When hovered, the svg should be the same colour as the text it comes alongside. This fixes that.

* Fixed the Solarized Palettes as per spec

- Added the Solarized Dark palette
- Remade the Solarized Light palette with the right contrast ratios as per Solarized Spec.

* Sidebar Selected Tab UI Change

Changed the selected tab border and foreground from pink to white(base01) because the pink was too distracting and not very readable.

* Fixed Hover css for plugin info listing

The css was not working so I fixed it.

* Fixed the UI for plugin info tiddler (among others)
2020-08-11 18:54:17 +01:00
John Duhamel
89c0c6157b
Add saver for Hyperdrive protocol used in Beaker 1.x (#4777) 2020-08-10 20:32:28 +01:00
Simon Huber
17e2b208e8
Fix #4794 - tc-type-selector-wrapper not containing tc-edit (#4798)
* Update type.tid

* Update base.tid
2020-08-10 09:25:14 +01:00
Simon Huber
bbdd12cffd
Add EditTabIndex config (tabindex = 1) (#4791) 2020-08-03 11:09:56 +01:00
saqimtiaz
dd79c096be
Fix #4786 (#4787)
* Fix #4786

Fix #4786

* Update header.js
2020-08-03 10:41:23 +01:00
Simon Huber
84b6a85293
Fix css selector for edit template new field (#4783) 2020-07-31 14:49:09 +01:00
ento
222821804e
Fix Entity widget not rendering its content without a refresh (#4776)
* Expose TEXT_NODE and ELEMENT_NODE constants

* Add failing test for initial rendering of entity widget

* Compute attributes when rendering
2020-07-31 08:25:15 +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
Diep Pham
a9d79a1a84
Fix authenticated-user-header is case sensitive in header authenticator (#4780)
From RFC 2616 - "Hypertext Transfer Protocol -- HTTP/1.1", Section 4.2, "Message Headers":

Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive.
2020-07-30 18:24:28 +01:00
Simon Huber
95e30138f0
Add modifier variable to linkcatcher actionstring (#4758)
* Add modifier variable to linkcatcher actionstring

* Update LinkCatcherWidget.tid
2020-07-15 12:27:14 +01:00
Simon Huber
484c9e986f
Fix #4755 - Indirect colours not shown in palette switcher (#4757)
* Fix #4755 - Indirect colours not shown in palette switcher

* Update currpalettepreview.tid

* Update currpalettepreview.tid
2020-07-15 12:23:13 +01:00
Simon Huber
00ff0d6fa0
Add modifier variable to button actionstring (#4671)
* Add modifier variable to button actionstring

* Update ButtonWidget.tid

* Update droppable.js

* Create getEventModifierKeyDescriptor method in keyboard.js

* Update droppable.js

* Update button.js
2020-07-14 17:04:06 +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
jeremy@jermolene.com
bd2cf5c464 Extend the element widget with a hook to intercept DOM node creation
The element widget is used to render HTML elements in wikitext.
2020-07-02 13:13:55 +01:00
saqimtiaz
35a842ade6
EditWidget: Pass attributes from parseTreeNode to child widgets (#4740) 2020-06-27 12:33:14 +01:00
saqimtiaz
d46872c061
Extend tm-import-tiddlers message (#4741)
* Allow tm-import-tiddlers event to override tv-auto-open-on-import

* Add autoOpenOnImport attribute to dropzone

* Updated DropZone docs

* Updated dropzone to support importTitle attribute

* Updated navigator to support importTitle attribute on tm-import-tiddlers

* Update dropzone docs for importTitle attribute

* Updated docs for tm-import-tiddlers

* Fixed formatting
2020-06-27 12:32:11 +01:00
saqimtiaz
7911007973
Revised: toggling relink in tm-rename-tiddler (#4723)
* switch boolean logic in new parameters

Use renameinTags and renameInLists instead of dontRenameInTags and dontRenameInLists respectively. This avoids users having to think through double negatives, as well as corresponds better to the setting in $:/config/RelinkOnRename

* Updated docs for revised parameters for tm-new-tiddler
2020-06-19 18:20:25 +01:00
saqimtiaz
24ef51df01
Revert "Allow toggling relink in tm-rename-tiddler (#4719)" (#4722)
This reverts commit a689f31978.
2020-06-19 18:05:08 +01:00
saqimtiaz
a689f31978
Allow toggling relink in tm-rename-tiddler (#4719)
* Allow toggling relink in tm-rename-tiddler

* Updated docs for tm-rename-tiddler
2020-06-19 11:07:03 +01:00
jeremy@jermolene.com
f760a2fa79 Add old tiddler to th-saving-tiddler hook
Addresses https://github.com/Jermolene/TiddlyWiki5/pull/4434#issuecomment-645939182
2020-06-18 11:49:59 +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
saqimtiaz
38e329edad
Fixes use of stateTitle instead of state resulting in artifacts during import (#4711)
* Fixes use of stateTitle instead of state

* Fixed bug with merging
2020-06-13 09:16:33 +01:00
Simon Huber
d832cb93ce
Fix (again) error in scrollable.js (#4705) 2020-06-11 13:54:59 +01:00
Simon Huber
bbf20f8955
Scrollable widget: Fix error in variable declaration (#4704) 2020-06-11 12:33:18 +01:00
Simon Huber
17a36726fa
Fields EditTemplate: Correct positioning of dropdown (#4687)
* Add wrapper div to fields EditTemplate

* Add classes

* remove obsolete span

* Update base.tid
2020-06-11 12:18:31 +01:00
Simon Huber
482f7a92ae
Type EditTemplate: show dropdown at correct position ... (#4686)
* Refactor type edittemplate for correct positioning...

... of type dropdown

* Refactor classes
2020-06-11 12:14:09 +01:00
Simon Huber
b191ee9210
Fix #4673 - Adding tags in $:/Manager does not work (#4674)
* 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
2020-06-11 12:12:45 +01:00
saqimtiaz
25f8b3f903
Check for DOM node existence before removing class. (#4696)
Can cause issues if dragstart and dragend actions trigger a refresh.
2020-06-11 12:11:56 +01:00
Simon Huber
5b9dbf7b95
Use srcWindow in scrollable widget (#4677) 2020-06-11 11:49:32 +01:00
Simon Huber
e59f606566
Cancel popups when clicking within an editor (#4658)
* Add cancelPopups attribute to edit widget

* Add cancelPopups attribute to factory.js

* Cancel popups in editor/simple.js

* Cancel popups on focus in engines/framed.js

* Cancel popups on focus in CodeMirror engine

* Add cancelPopups="yes" to tag-picker

* Add cancelPopups="yes" to sidebar search

* Add cancelPopups="yes" to editor

* Add cancelPopups="yes" to fields EditTemplate

* Update body.tid

* Add cancelPopups="yes" to title EditTemplate

* Add cancelPopups="yes" to type EditTemplate

* Update EditTextWidget.tid

* Update EditWidget.tid

* Add cancelPopups="yes" to menubar plugin search

* Update tag-picker.tid

* Update tags.tid
2020-06-11 11:41:35 +01:00
Arlen22
d32fb6f900
Allow setting boot, wiki, and pathPrefix for each request (#4649)
* Add pathPrefix to state, and options to request handler

* use ternary operator instead of default empty object

* Fix styling issues

* Update server.js

* Add boot to server and filesystem adapter
2020-06-11 11:36:41 +01:00
jeremy@jermolene.com
41a7d98e17 Merge branch 'tiddlywiki-com' 2020-05-16 20:13:38 +01:00
Simon Huber
99a07f80f1
Add missing Linkify ShortcutInfo (#4653) 2020-05-14 14:37:17 +01:00
Simon Huber
5d91c27980
Update rendertiddlers.tid (#4635) 2020-05-14 14:31:32 +01:00
Bimba Laszlo
6570561d4e
The !has[tags] filter didn't work because tags field is an array (#4643)
* The `!has[tags]` filter didn't work because "tags" is an array

The negated `has` filter only considered empty strings, but not empty
arrays (such as the `tags` field).

* Add tests for `has` filter operator with array-like fields (tags, list)
2020-05-14 13:57:12 +01:00
Bimba Laszlo
9c22537b4e
Fix the class attribute of Droppable widget (#4647)
Even though we passed the `class` attribute, it did not take it into
account. For example try to render this:

  <$droppable class="custom-css-class">
    ... content ...
  </$droppable>

Before applying this patch:

  <span class=" tc-droppable">
    ... content ...
  </span>

After applying:

  <span class="custom-css-class tc-droppable">
    ... content ...
  </span>
2020-05-14 13:55:33 +01:00
Jonas Passerini
84a4784dee
Add Transcludify ShortcutInfo (#4651)
* Signing the CLA

* Add Transcludify ShortcutInfo
2020-05-14 12:19:16 +01:00
jeremy@jermolene.com
5c0d91c510 Fix title of slugify.js filter module 2020-05-14 07:53:30 +01:00
jeremy@jermolene.com
bf6735420d Fix SVG favicons 2020-05-10 11:58:40 +01:00
jeremy@jermolene.com
4966f6ab62 Add slugify and duplicateslugs operators
Fixes #3379
2020-05-09 15:54:44 +01:00
jeremy@jermolene.com
33d973fb91 Add originating widget to event objects 2020-05-09 15:53:38 +01:00
Arlen22
81f07cdf85
Use this.wiki where applicable (#4601)
* Use state.wiki

* use local wiki where available

* fix a couple this vs self cases
2020-05-06 11:27:50 +01:00
jeremy@jermolene.com
48dfadd85b InfoMechanism: Add $:/info/startup-timestamp 2020-05-06 11:05:54 +01:00
jeremy@jermolene.com
13b8281f6b $tw.utils.copyDirectory: Ensure directories don't overlap 2020-04-27 15:00:06 +01:00
jeremy@jermolene.com
ad575efdcc Update sortsub to evaluate the subfilter for each item in the list
See the discussion here https://groups.google.com/d/msg/tiddlywiki/BqUFQ3v-fZw/U0F04CFFBQAJ
2020-04-25 15:22:24 +01:00
jeremy@jermolene.com
619c0752bd Add new sortsub operator 2020-04-25 11:26:19 +01:00
Cameron Fischer
2385bd978f
Fix importvariables crash (#4593)
* Fixed issue: multi nonMacro imports broke everything

* Fixed issue: dead variables in import might linger
2020-04-23 09:10:52 +01:00
jeremy@jermolene.com
2a8f7a9c50 Add support for _canonical_uri field of $:/favicon.ico 2020-04-22 16:40:02 +01:00
jeremy@jermolene.com
5f98e7d7b3 Ensure $tw.utils.hasClass/addClass/removeClass work with SVG elements
These docs make clear that .className isn't recommended for SVG elements:

https://developer.mozilla.org/en-US/docs/Web/API/Element/className#Notes
2020-04-22 15:32:20 +01:00
jeremy@jermolene.com
77a929faa3 ActionPopup widget: Add ability to cancel all popups 2020-04-21 22:19:03 +01:00
jeremy@jermolene.com
c86a621d5d BrowseWidget: Add "accepts" attribute
And add docs for the 'message' and 'param' attributes
2020-04-21 22:18:34 +01:00
jeremy@jermolene.com
d6ee700bca Fix $tw.utils.getSubdirectories() 2020-04-21 21:21:38 +01:00
Simon Huber
39d532a4a0
Revert "Make input fields dismiss their popups when the ... (#4579)" (#4586)
This reverts commit 4efcad46f3.
2020-04-20 19:26:54 +01:00
Simon Huber
86d7564661
Update gruvbox dark for better readability of ... (#4585)
... toolbar buttons
2020-04-20 17:13:00 +01:00
Simon Huber
4efcad46f3
Make input fields dismiss their popups when the ... (#4579)
* Make input fields dismiss their popups when the ...

... fields loose focus (`blur`)

* Update simple.js
2020-04-20 15:49:30 +01:00
jeremy@jermolene.com
1546a4a189 Client-server: Add message about disabled plugin library
Fixes #4570
2020-04-20 13:28:02 +01:00
jeremy@jermolene.com
2649d2f7dc Syncer: Fix typos
Fixes a bug introduced in #4584
2020-04-20 13:19:27 +01:00
idotobi
154e886873
Fix Comment in Webserver API route tidlers.json (#4557)
This commit fixes the the comment in the route
`recipes/default/tiddlers.json` which was inconsistent with the actually
used regex. Furthermore, the 403 response was adjusted to also agree
with the the new comment and the regex.

Co-authored-by: tobidot <post@tobidot.net>
2020-04-20 13:07:06 +01:00
jeremy@jermolene.com
5688670da6 makelibrary command: Guard against invalid directories 2020-04-20 12:58:27 +01:00
jeremy@jermolene.com
678e25f510 makelibrary command should skip non-directories
Fixes #4583
2020-04-20 11:47:54 +01:00
jeremy@jermolene.com
15d7255728 Syncer: Should not call syncadaptor for missing tiddlers
Fixes #4580
2020-04-20 11:35:11 +01:00
Daniel Rodríguez Rivero
4ea79cb0c3
fix(syncer): restore tiddlerInfo param to saveTiddler (#4584)
This was added on a159b5baf3 and lost in #4373.
Will be a good idea to introduce tests against this kind of changes
2020-04-20 11:17:27 +01:00
jeremy@jermolene.com
e71a27ac2d Fix link widget to work within SVG elements 2020-04-19 12:57:56 +01:00
Jeremy Ruston
00686fc002 Preparing for v5.1.23-prerelease 2020-04-15 16:23:19 +01:00
Mario Pietsch
22802b4be8
Action create tiddler improvements (#4436)
* add a new-line before the log text to increase readability of the test output

* make eslint, jslint happy

* add $template and $overwrite parameter

* documentation for new parameters + 4 new examples

* remove unwanted files
2020-04-15 15:51:21 +01:00
Jeremy Ruston
7cbe766bde Utils: ParseInt should specify a radix
Thanks @pmario
2020-04-15 15:28:03 +01:00
Jeremy Ruston
f21d013241 jsontiddlers macro: parse "spaces" parameter as integer 2020-04-15 15:27:53 +01:00
Mario Pietsch
de5b0062b5
Add new parameters to fields-widget and fields-operator. (#4433)
* add a new-line before the log text to increase readability of the test output

* make eslint, jslint happy

* extend fields-widget with include/exclude/sort/reverse and fields-filter with include and exclude params plus DOCS

* remove new-line

* remove eslint settings

* restore old eslint settings

* remove typo
2020-04-15 12:36:48 +01:00
Mario Pietsch
2b6c87fb4b
Remove unwanted whitespace from sidebar links (#4552)
* 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
2020-04-15 12:35:35 +01:00
Jeremy Ruston
2f3a95a0b8 Plugin Chooser: Display libraries as separate tabs
Suggested by @kookma
2020-04-15 10:20:17 +01:00
Cameron Fischer
65347ae858
Fixed join filter operator to never returns null (#4396)
If the operator were passed an empty list, it would return null
which could cause some proceeding operators to crash.
2020-04-14 17:49:38 +01:00
Cameron Fischer
43fdb553b7
Reduced indexOf calls in wiki.sortByList (#4275) (#4397)
Examined the tests in test-tag. They already cover all the use cases
I could think of.
2020-04-14 17:49:10 +01:00
Joshua Fontany
69c8058b72
Add has:index (#4540)
* has:index

* has:index

* has:index docs

* has op examples

* has op examples

* operator macros typo missing </div>

* possible mistake
2020-04-14 16:52:56 +01:00
Jeremy Ruston
0836fb7184 Makelibrary.js: Minor refactoring 2020-04-14 12:08:15 +01:00
jed
4146a04a9e
Fix makelibrary.js to use enviroment variable paths (#4559)
This makes makelibrary.js use environment variables to find paths for plugins, themes and languages instead of just using the paths hardcoded in boot.js
2020-04-14 12:03:12 +01:00
Jeremy Ruston
84eaee8210 Control Panel Plugin Listing: Fallback to last component of title if name field is missing 2020-04-14 11:52:01 +01:00
Jeremy Ruston
4bbc58dd24 Plugin Chooser: Ensure official plugin library is shown first 2020-04-13 11:45:06 +01:00
Jeremy Ruston
4529123777 Plugin Chooser: Colour of update all button should match individual update buttons
Fixes the final issue mentioned by @kookma at https://github.com/Jermolene/TiddlyWiki5/issues/4486#issuecomment-612841838
2020-04-13 11:38:53 +01:00
Jeremy Ruston
0d0698ea6e Plugin Chooser: Don't display the "already installed" message twice
Fixing the first issue here https://github.com/Jermolene/TiddlyWiki5/issues/4486#issuecomment-612841838 by @kookma
2020-04-13 11:35:52 +01:00
Jeremy Ruston
63dee16611 Plugin Chooser: Use separate tab state for each plugin library
Fixing the third issue at https://github.com/Jermolene/TiddlyWiki5/issues/4486#issuecomment-612841838 from @kookma
2020-04-13 11:28:24 +01:00
Jeremy Ruston
dc98432fa0 Plugin Chooser: Use existing template for updates tab 2020-04-13 11:11:16 +01:00
Jeremy Ruston
86296b67aa Plugin Chooser: Distinguish between install, reinstall, update and downgrade 2020-04-13 10:04:14 +01:00
Jeremy Ruston
245dab0c8c Plugin Chooser: Include currently installed version 2020-04-13 10:03:24 +01:00
Jeremy Ruston
7b53f5724c Add new compare filter operator
Fixes #4554
2020-04-13 10:03:01 +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
bdc5ac592f Fix count widget to return "0" for an empty filter string instead of undefined 2020-04-09 11:04:50 +01:00
Nils-Hero Lindemann
322c37d693
Let chained > blockquotes generate valid HTML (#4332)
* Replace "p" with "div" in itemTag

'>> text' will now be valid html.

* Make the new div's behave like p's
2020-04-07 20:39:13 +01:00
Jeremy Ruston
59fd557067 Minor tweaks to plugin library listings
* Adds a name to the core plugin
* Make plugin listings consistently show "name: description"
* Make plugin listings consistently sort by title (thus grouping publishers)
* Add a missing plugin name

See discussion here: https://github.com/Jermolene/TiddlyWiki5/pull/4508#issuecomment-609671970
2020-04-06 10:15:18 +01:00
saqimtiaz
21565f635e
Fix range widget for IE10/11 (#4534)
As detailed in #4519 the range widget currently does not save its value to the state tiddler on IE 10/11 as they do not support the input event, but rather the change event is fired instead of the input event. This has patch has been tested in IE11 and should work in IE10 as well.

Note that on Chrome and Firefox, the change event will fire only once after the user stops dragging the range slider (In addition the input event). However this does lead to an extra refresh as the handleInputEvent method already checks to see if the current value of the slider is different from the saved value before saving to the store.
2020-04-03 13:07:55 +01:00
Jeremy Ruston
cf46b6b0ff Add "class" attribute to dropzone widget 2020-04-03 10:33:39 +01:00