1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-08 02:49:56 +00:00
Commit Graph

3914 Commits

Author SHA1 Message Date
Jeremy Ruston
953038f0b2 Don't use field indexer when looking for blank/missing fields
Fixes #4247
2019-09-09 14:47:27 +01:00
Simon Huber
00fb4190f2 Fix whitespace around fields inputs (II) (#4240) 2019-09-09 14:17:32 +01:00
Jeremy Ruston
16652f926f
Fix inverted default HTML-class for items in toc and toc-expandable 2019-09-03 09:41:34 +01:00
Mark Stegeman
dd09266b46 Fix inverted default HTML-class for items in toc and toc-expandable
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.
2019-09-02 19:31:13 +02:00
Jeremy Ruston
ba7e7fd649
fix "Open" SideBar tab (#4228) 2019-09-02 18:08:09 +01:00
Simon Huber
1873785ef6 Fix whitespace around field inputs (#4227) 2019-09-02 18:07:45 +01:00
Simon Huber
c81bf49704
fix "Open" SideBar tab 2019-09-01 11:00:09 +02:00
Nils-Hero Lindemann
1c5b3e3d8d Remove duplicate code from transcludeblock parser (#4221) 2019-08-30 17:20:16 +01:00
Simon Huber
4ef9ccbab9 Fix bug with wikitext in fieldnames #4218 2019-08-30 10:44:23 +01:00
Jeremy Ruston
83386f34b5 Restore performance instrumentation to be disabled by default
Fixes #4201
2019-08-30 10:42:01 +01:00
Jeremy Ruston
471b73158a Fix overeager alerts from core module overwrite upgrade warning
This fixes a bug in #3634, and refines the logic so that the warning is only given if the incoming tiddler exists as a shadow tiddler. (In my case I have several draft core modules inactive in my notes wiki and they were erroneously suppressed from the upgrade).
2019-08-28 14:44:46 +01:00
Jeremy Ruston
a170210069 Fix crash with action-deletefield and missing tiddler attribute
Fixes #4188
2019-08-24 11:39:00 +01:00
Simon Huber
fada96651e Update "Open" tab to use tv-config-story-list (#4189) 2019-08-24 11:27:20 +02:00
Jeremy Ruston
bab1bca485 Coding style tweaks 2019-08-14 23:00:01 +01:00
Jeremy Ruston
a986e4f7d6 Prepare for v5.1.21-prerelease 2019-08-09 15:38:36 +01:00
Jeremy Ruston
ad175e222b Preparing for v5.1.20 release 2019-08-09 14:16: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
Simon Huber
31e7dbf020 Add "preventScroll" option to tm-focus-selector message (#4157)
* add "delayed" option to tm-focus-selector message

this delays the focussing for the time of the animation duration if delayed="yes" or delayed="true"

this is useful when navigating the story river up and down with keyboard shortcuts and the shortcuts focus the title input if a navigated tiddler is in edit mode -> navigation doesn't jump but stays smooth

* Update rootwidget.js

* Update WidgetMessage_ tm-focus-selector.tid

* add preventScroll="true" tip
2019-08-06 13:12:21 +01:00
Simon Huber
e1bb532d98 Fix popups not being cancelled correctly (#4158) 2019-08-04 13:01:24 +01:00
Jeremy Ruston
8159c4a865 Fix navigator widget when story and/or history attributes are missing
To fix the crash described here: https://groups.google.com/d/msgid/tiddlywiki/c5461591-bf27-4c85-9f27-9eef14c38816%40googlegroups.com?utm_medium=email&utm_source=footer
2019-08-04 11:34:45 +01:00
Simon Huber
62a7fa4203 Pop storyview for fields list in EditTemplate (#4148) 2019-08-02 15:05:30 +01:00
Simon Huber
776ce0f65f Pop storyview for tabs macro (#4149) 2019-08-02 15:05:12 +01:00
Simon Huber
4952be6518 "Open" SideBar tab: use tv-story-list and tv-history-list (#4150) 2019-08-02 15:03:09 +01:00
Simon Huber
427fbfd623 Fix tags not animating in viewtemplate (#4142)
* fix tags not animating in viewtemplate

this PR uses the addprefix removesuffix filters, not a new filter as proposed in #3763

* use new `then` operator
2019-08-02 14:32:36 +01:00
Jeremy Ruston
17711657b6 Add then and else operators
Fixes #4147
2019-08-02 14:27:58 +01:00
Jeremy Ruston
394725f00c Fix edit-bitmap crash with missing tiddlers
Fixes #4141
2019-08-02 09:16:36 +01:00
Simon Huber
9a2de11db1 Pop storyview for topright and topleft bar (#4146)
* pop storyview for topright bar

* pop storyview for topleft bar
2019-08-02 09:03:51 +01:00
Simon Huber
fab67a463b Pop storyview: fix bug where targetElement is null (#4143) 2019-08-02 08:51:16 +01:00
Simon Huber
64fe260f4d Fix: correct handling of tc-popup-keep when cancelling ... (#4144)
... popups through focussing inputs
2019-08-02 08:49:06 +01:00
Simon Huber
8db893b9c9 Add pop storyview for pagecontrols (#4145)
this PR adds the pop storyview to the page-control buttons in the sidebar
2019-08-02 08:47:47 +01:00
Simon Huber
2d4831f920 Tag-picker: delete double-definition of tag-actions (#4139) 2019-08-01 17:32:39 +01:00
Jeremy Ruston
0a6870656f Fix typo in b5653babd 2019-07-31 21:39:52 +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
Jeremy Ruston
3afaa9de9a Add support for anchored searches 2019-07-31 21:36:12 +01:00
Jeremy Ruston
dbaccf792d Use the new "match" operator across the core
Instead of the old "prefix" hack
2019-07-31 09:30:16 +01:00
Jeremy Ruston
5faae2547d Add "match" operator for string comparison
Fixes #4130
2019-07-31 09:11:12 +01:00
Jeremy Ruston
7f78065992 Fix unnecessary "list" field creation when renaming tiddlers
Fixes #4120
2019-07-30 17:10:53 +01:00
Simon Huber
cb1d35e230 More Plugins - Button: use primary color (#4075)
* Update AddPlugins.tid

* Update base.tid

* Update AddPlugins.tid

* Update AddPlugins.tid

* Update base.tid
2019-07-30 13:49:40 +01:00
Simon Huber
0a2d532a7b Fix bug where edit widget input-tag is empty (#4088) 2019-07-30 13:49:05 +01:00
Simon Huber
e669ec098f Fix beyboard widget empty parameters (#4094) 2019-07-30 13:47:56 +01:00
Jeremy Ruston
269fa5313f Fix for index ordering issue
Fixes #4082

This version removes selective updating of the tag index, instead completely clearing the index on each update. I'm investigating restoring that optimisation.
2019-07-28 16:39:34 +01:00
Simon Huber
b30746813b Fix: store noStateReference in popup.js (#4115) 2019-07-26 17:13:53 +01:00
jed
e86d4d29d5 Fix th-renaming-tiddler (see #4023) (#4037)
* Remove the th-renaming-tiddler hook from navigatior.js

The hook is invoked in the renameTiddler function which would cause the same hook to be called twice, and the version in the navigator widget didn't have the correct inputs and return value according to the documentation.

* Make it so that the th-renaming-tiddler hook isn't called twice

by removing it from the navigator.js file
2019-07-24 18:12:09 +01:00
Jeremy Ruston
cbd07465f3 Fix test rig shadow tiddler behaviour
The test rig previously used a simplified implementation of shadow tiddlers which broke with the new indexing engine. There was also a problem that made that even if indexers were disabled they were still initialised.

This PR fixes both problems, in preparation for fixing #4082
2019-07-16 16:53:37 +01:00
Mario Pietsch
5d36b484c6 Toc cosmetic changes for tabbed-xxxx macros (#4101)
* toc cosmetic changes.

* toc in right sidebar should use toc-item if itemCalssFilter is not defined
2019-07-15 12:31:50 +01:00
Simon Huber
e2bad34e89 Fix bug and typo in framed.js (#4110) 2019-07-15 10:11:36 +01:00
Cameron Fischer
b67e088e55 Reducing function calls across board (#4102) 2019-07-14 16:20:27 +01:00
Jeremy Ruston
8226efa154
Merge pull request #4106 from BurningTreeC/patch-17
fix missing tag for advanced-search keyboard shortcut
2019-07-14 16:08:01 +01:00
Jeremy Ruston
ac49b4d20c
Cancel open popups when inputs get focus 2019-07-14 16:07:36 +01:00
Simon Huber
78cc80db13
fix missing tag for advanced-search keyboard shortcut 2019-07-14 17:06:09 +02:00
Jeremy Ruston
2bcb36f151
Add advanced-search kb shortcut ctrl-shift-A 2019-07-14 15:49:15 +01:00
Jeremy Ruston
8e7c0907f8 Add checkactions attribute to Checkbox widget
See discussion at https://groups.google.com/d/msgid/tiddlywiki/526754d5-8786-49cd-aaa1-c77311670116%40googlegroups.com:

The history here is that in v5.1.14 we added an "actions" attribute to the checkbox widget that specified an action string to be specified whenever the state of the checkbox changed. The same action string is executed regardless of whether the checkbox was checked or unchecked.

Then in v5.1.16 we merged https://github.com/Jermolene/TiddlyWiki5/pull/3182 which added the "uncheckactions" attribute. The difference between the two is that the uncheckactions are only executed if the checkbox is unchecked. The main "actions" attribute is executed before any actions in "uncheckactions", which makes it possible to arrange things so that the "actions" attribute sets things to the checked state while the "uncheckactions" attribute overwrites those changes to set things to the unchecked state.

In retrospect, it would have made more sense to have also added a "checkactions" attribute that was executed only if the checkbox was checked. I'll investigate adding it for v5.1.20.
2019-07-14 13:42:43 +01:00
Simon Huber
66dc7df745
Update popup.js 2019-07-14 09:37:53 +02:00
Simon Huber
fd88be4173
Update ShortcutInfo.multids 2019-07-14 07:25:50 +02:00
Simon Huber
880a2aa153
Update ShortcutInfo.multids 2019-07-14 07:25:02 +02:00
Simon Huber
173e9c6c3a
add advanced search key combination ctrl-shift-A 2019-07-14 07:23:47 +02:00
Simon Huber
a87a299aa9
add advanced-search kb shortcut 2019-07-14 07:22:46 +02:00
Jeremy Ruston
f5b2599432 Make it possible to distinguish the two different sidebar elements with the class "tc-sidebar-lists" 2019-07-11 22:00:28 +01:00
Simon Huber
ba2f4822dd
Merge branch 'master' into patch-10 2019-07-11 18:19:49 +02:00
Simon Huber
ecbbe87a0d
popup cancelling - use state reference
in the google group there's a discussion: https://groups.google.com/forum/#!topic/tiddlywiki/_mDDZ1jpMgU

buttons allow setting a state-reference for popups but the popup mechanism doesn't respect that
2019-07-11 07:35:06 +02:00
Simon Huber
345a6a0f90
Update framed.js 2019-07-10 09:57:11 +02:00
Simon Huber
c647b42574
Update simple.js 2019-07-10 09:56:34 +02:00
Simon Huber
7811614d53
Update popup.js 2019-07-10 09:55:32 +02:00
Simon Huber
8aa6427d67
Update factory.js 2019-07-10 09:54:35 +02:00
Jeremy Ruston
86286c6fce Don't generate filenames starting with a period 2019-07-09 12:22:52 +01:00
Bram Chen
a06acc4eb8
Update core/modules/savers/github.js
Using "$tw.utils.base64Encode()" to encode content of data instead of calling module library directly.
2019-07-05 11:03:05 +08:00
Jeremy Ruston
5ac2064d18
Add toggle-sidebar keyboard shortcut 2019-07-04 22:18:40 +01:00
Jeremy Ruston
2a4c60b23d Allow tm-open-window to specify a page title 2019-07-04 15:59:34 +01:00
Jeremy Ruston
3edaa652ee Reveal widget: add option to avoid clamping popup position
Fixes #4041
2019-07-04 15:58:27 +01:00
Simon Huber
77fedf9582
fix keyboard shortcut 2019-07-04 12:00:10 +02:00
Simon Huber
cf4c4532c3
Update Buttons.multids 2019-07-04 09:00:34 +02:00
Simon Huber
ea0e1357bf
Update ShortcutInfo.multids 2019-07-04 08:59:23 +02:00
Simon Huber
ef7210adf4
add alt-shift-S to toggle sidebar 2019-07-04 08:57:49 +02:00
Simon Huber
e91fb29253
add keyboard shortcut toggle-sidebar 2019-07-04 08:56:17 +02:00
Jeremy Ruston
d489f61f2a
include wiki in options sent to generateTiddlerFilePath 2019-07-03 17:54:58 +01:00
Jeremy Ruston
727d660715
Story PageTemplate: configurable View- and EditTemplates (#4051)
* Story PageTemplate: configurable View- and EditTemplates

* add $:/config/ui/ViewTemplate

* add $:/config/ui/EditTemplate
2019-07-03 17:42:13 +01:00
Simon Huber
6e5566b907 Add whitespace trim to pagetemplate, story and sidebar (#4052)
* add whitespace trim to pagetemplate

* add whitespace trim to story pagetemplate

* add whitespace trim to sidebar pagetemplate
2019-07-03 17:41:23 +01:00
Bram Chen
958b3e7b7c Improve the base64 encode/decode utility functions (#4053)
Make good use of "$:/core/modules/utils/base64-utf8/base64-utf8.module.js"
* Add a new base64Encode()
* Both of base64Encode and base64Decode work for Nodejs and Browsers
2019-07-03 17:39:32 +01:00
Simon Huber
c578566dea
add $:/config/ui/EditTemplate 2019-07-03 15:09:32 +02:00
Simon Huber
8a0aef4dcb
add $:/config/ui/ViewTemplate 2019-07-03 15:08:43 +02:00
Simon Huber
35a71ad577
Story PageTemplate: configurable View- and EditTemplates 2019-07-03 15:07:06 +02:00
jed
c202ef4201
include wiki in options sent to generateTiddlerFilePath
This adds options.wiki to the object sent to the generateTiddlerFilePath

The function generateTiddlerFilePath can take a wiki in the options object, but generateTiddlerFileInfo doesn't pass the wiki to it.
2019-07-03 12:11:10 +02:00
Jeremy Ruston
da61917797 list-links macro: trim whitespace
Fixes #4044
2019-07-02 16:53:02 +01:00
Simon Huber
d1948621d3 Docs for stamp-button optionally wrap selection (#4047)
* make stamp-button optionally wrap selection

* Update Using Stamp.tid
2019-07-02 16:24:48 +01:00
Bram Chen
de04755a0a Fix bug with not definded variable (#4049)
Using the variable "resolveCredentialsFilepath" to provide a good debug information.
2019-07-02 15:40:07 +01:00
Simon Huber
112443c054 Update/fix nord palette notification background (#4031) 2019-06-29 08:15:46 +01: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
Jeremy Ruston
ed67f4a88b Add new tm-focus-selector message 2019-06-28 17:27:36 +01:00
Simon Huber
14003b0e88 Make framed editor use tiddler-editor-background color (#3611)
so we can customise it better if we don't like what we see
2019-06-26 14:53:49 +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
Simon Huber
31b141097d Tags edittemplate: replace &times; with svg (#3859)
* tags edittemplate: replace &times; with close-button svg

* make close-button smaller + v-aligned middle
2019-06-26 12:34:18 +01:00
Simon Huber
69d3a47073 Add escapecss filter (#3546)
* add escapecss filter

this filter would allow creating valid css classes from titles containing special characters

we assign a class to an element using `encodeuricomponent[]` so that the class name is encoded

in a stylesheet we create the classname by `<title>escapecss[]` which applies the uri encoding and escapes characters that need to be escaped

* Update encodings.js

* refactor tagToCssSelector, add escapeCssSelector

* use escapeCssSelector

* escape using CSS.escape if it's available

* Update encodings.js

* revert factoring out escapeCssSelector
2019-06-26 12:32:01 +01:00
Simon Huber
e313b0b7ca CSS.escape as startup module (#3574)
* don't know what I'm doing - apply polyfill methods

* don't know what I'm doing add CSS.escape polyfill

* execute polyfills in load-modules

* Delete cssescape.js

* add css-escape polyfill as startup module

* Update load-modules.js

* this was for testing :)

* Update css-escape-polyfill.js

* Update css-escape-polyfill.js
2019-06-26 12:31:22 +01:00
Simon Huber
dc9f4e2de7 Pop storyview: animation - don't x-overflow page (#3857)
... this makes the animation when inserting tiddlers / navigating to tiddlers in the pop storyview less jumpy

it simply sets `overflow-x` to `hidden` for the time of the insert-animation
2019-06-26 11:50:52 +01:00
Jeremy Ruston
6582b106ee Fixes to split operator, plus instructions for using it to do search and replace 2019-06-21 10:21:52 +01:00
Jeremy Ruston
90684f9f52 Add support for [is[blank]] to detect empty/blank strings 2019-06-21 10:20:37 +01:00
Robin Munn
9b27f82a80 Fix sentencecase operator, add titlecase operator (#4006) 2019-06-21 08:24:02 +01:00
Jeremy Ruston
2e2ed7902c Add sentencecase operator
Fixes #4000
2019-06-19 12:11:02 +01:00
Robin Munn
62829dc9d3 Add untrunc operator, the mirror of trunc (#3994) 2019-06-17 18:34:30 +01:00
Jeremy Ruston
73eb7fbd4e Maths operators: Remove concat (same as addsuffix) and add splitregexp 2019-06-13 16:52:19 +01:00
Jeremy Ruston
fc09f8e331 Tree macro: allow separator to be customised 2019-06-13 08:47:42 +01:00
Jeremy Ruston
86387a9185 Add some error trapping to maths operators 2019-06-11 17:18:18 +01:00
Jeremy Ruston
dd7837d164 Fix issue with allafter operator
Fixes #3962
2019-06-11 09:38:14 +01:00
Jeremy Ruston
f02352f6a1 Use default link text when link widget has no content
Fixes #3974
2019-06-10 21:04:21 +01:00
Jeremy Ruston
18fe112da7 Extend the enlist operator to optionally not de-duplicate 2019-06-10 17:54:46 +01:00
Jeremy Ruston
37bb75f0cf Add support for = prefix for filter runs that doesn't remove duplicates 2019-06-10 17:54:20 +01:00
Jeremy Ruston
ac1d5b828d Fix regression in 7fcd2f132
Previously we saved tiddlers as .tid files using this template that explicitly excludes the "bag" field:

https://github.com/Jermolene/TiddlyWiki5/blob/master/core/templates/tid-tiddler.tid

Now we generate both .tid and .json files programmatically, and so we have to explicitly exclude the bag field
2019-06-10 17:52:26 +01:00
Jeremy Ruston
8012a3508f Ensure tiddlyspot saver works with local storage disabled
Fixes #3955
2019-06-08 16:38:13 +01:00
Jeremy Ruston
28c732d2be Improve action-createtiddler to return a draft title too 2019-06-04 12:33:01 +01:00
Jeremy Ruston
72c64013c7 Fix control panel stylesheets tab to use $:/state/... instead of $:/config/... 2019-06-03 13:28:59 +01:00
Jeremy Ruston
9c2726c530 Remove $tw.perf.log() banner under Node.js 2019-06-03 13:28:41 +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
Jeremy Ruston
a8f70b08a8
Add indexes to the wiki store to improve performance (#3951)
* First pass at modular wiki indexes

An exploratory experiment

* Fix tests

* Faster checking for existence of index methods

We don't really need to check the type

* Use the index for the has operator

* Fix typo

* Move iterator index methods into indexer modules

Now boot.js doesn't know the core indexers

* Fix up the other iterator index functions

* Fix crash with missing index branch

* Limit the field indexer to values less than 128 characters

* Fallback to the old manual scan if the index method returns null
* Sadly, we can no longe re-use the field indexer to accelerate the `has` operator, because the index now omits tiddlers that have field values longer than the limit

Still need to make the index configuration exposed somehow

* Rearrange tests so that we can test with and without indexers

We also need to expose the list of enabled indexers as a config option

* Test the field indexer with different length fields

So that we test the indexed and non-indexed codepaths
2019-05-24 21:07:37 +01:00
Jeremy Ruston
2f8053265e Performance: Add average filter execution time 2019-05-20 12:50:10 +01:00
Jeremy Ruston
ff85fcfe93 Fix typo from e8d1fbba6 2019-05-10 16:03:24 +01:00
Jeremy Ruston
e8d1fbba6c Performance Instrumentation: Track execution times for individual filters
Fixes #3941
2019-05-10 15:56:01 +01:00
Jeremy Ruston
7869546fef Speed up reveal widget
It turns out that the `localeCompare` function used by `compareStateText()` is very, very slow. Replacing it with a straightforward equality test makes one of my test rigs be 10x faster...

Note that this PR reverts the behaviour of match/nomatch to that before #3157. That change was not backwards compatible in that the switch to localeCompare meant that é === e, now it doesn't again.
2019-05-10 08:47:00 +01:00
Jeremy Ruston
5ae14a16ec Classic Storyview: Optimise for animation duration of zero (part 2)
See fddc5d4ee
2019-05-02 21:21:22 +01:00
Jeremy Ruston
fddc5d4ee6 Classic Storyview: Optimise for animation duration of zero (part 1)
Approximtely 50% speed improvement in tests opening a storyview with 8,000 entries.

(I've deferred the indentation adjustments until the next commit so that the git diffs are clearer)
2019-05-02 21:20:24 +01:00
Jeremy Ruston
091864ddaf Browser messaging: suppress logging
Commented out because it can be useful for debugging.
2019-05-02 20:21:58 +01:00
Jermolene
07198b9cda Update view toolbar "new here" button
Avoiding textual substitution fixes probems with tiddler titles containing double square brackets.
2019-04-23 17:54:49 +01:00
Jermolene
b7e0930122 savewikifolder: Fix custom plugin fields
We need to carry across all plugin fields into the tiddlywiki.info file
2019-04-16 11:59:34 +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
b32a5aa9af GitHub saver: Fix problem with saving to a non-existent directory 2019-04-15 21:08:04 +01:00
Jermolene
232eba2f7d Http utilities: add xhr object to callback 2019-04-15 21:07:23 +01:00
Jermolene
0513837228 Ensure tiddler.getFieldStringBlock uses a deterministic ordering
Makes diffs easier to track
2019-04-14 14:23:49 +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
7fcd2f132e Filesystemadaptor: Improve handling of JSON files
Fixes #3875

* Use .json files (instead of .tid) for any tiddler whose fields contain values that can't be stored as a .tid file
* Save application/json tiddlers as .json files
* Refactor most of the file handling as re-usable utilities
2019-04-13 14:59:44 +01:00
Bimba Laszlo
9b72eabd1a Fix crash in GitHub saver (#3905)
If the path was not specified, RSOD error occurred when we wanted to
download the wiki:

  Uncaught TypeError: Cannot read property 'substring' of undefined
2019-04-11 08:21:55 +01:00
Jermolene
73703da2e7 Minify base64-utif8 module
Minified with https://skalman.github.io/UglifyJS-online/
2019-04-08 21:37:32 +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
Simon Huber
662ae91067 Bugfix: reveal widget regression! (#3897) 2019-04-06 10:27:37 +01:00
Jermolene
d5fa68b46a Simplify PageTemplate
We no longer need to mess around with the currentTiddler variable to be able to access to the "name" field of the current language
2019-04-05 09:11:54 +01:00
Jermolene
6e81122fa3 Restore exclude parameter for selective TOC macros
Reverting 94607aa9cd
2019-03-30 12:10:42 +00:00
Jermolene
37ea659bf0 Refactor the dumpvariables macro as wikitext
Making it easier to customise
2019-03-30 10:52:49 +00:00
Jermolene
754c1251a9 Add new "variables" and "getvariables" operators 2019-03-30 10:52:28 +00:00
Jermolene
94607aa9cd TOC macros: Remove redundant recursion protection
As discussed in #3881, it isn't really needed when user interaction is required to open child nodes.
2019-03-27 15:00:13 +00:00
Jermolene
62477c9fbb TOC Macros: fix recursion regression
Fixes #3881
2019-03-27 14:59:38 +00:00
jed
b1edcdb757 Add unusedtitle macro (#3880)
* Add uniquetitle macro

This macro is a wrapper on the $tw.wiki.generateNewTitle function to return a unique name, it has been requested multiple times in the forums.

* Add documentation tiddler for uniquetitle macro

* Add uniquetitle macro examples

* Change name from uniquetitle to unusedtitle for clarity

The title isn't unique, just not currently used in the wiki.

* Update uniquetitle to unusedtitle

* Change uniquetitle to unusedtitle

* Fix a typo
2019-03-26 21:57:58 +00:00
Jermolene
02ae8969b2 Reveal widget: faulty logic for default handling
@BurningTreeC I think this might have been a typo in your recent refactorings; if you look back at an old version such as c0c1b557eb/core/modules/widgets/reveal.js then there is no sign of this fallback.

Fixes #3874
2019-03-20 16:50:34 +00:00
Jermolene
e52a616891 Add support for widget subclassing
Fixes #3865
2019-03-17 12:25:15 +00: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
Simon Huber
2e0b2c8045 Palette manager: sort palettes by name, not description (#3853)
... currently it appears as if there was no sorting logic
2019-03-12 09:48:34 +00:00
Simon Huber
d068cb3625 Fix palette: missing type application/x-tiddler-dictionary (#3852) 2019-03-11 10:59:34 +00:00
Simon Huber
0d8c749f37 Rename SpartanDay to SpartanDay.tid (#3851)
* Rename SpartanDay to SpartanDay.tid

* Update SpartanDay.tid
2019-03-11 09:55:49 +00:00
Simon Huber
0303b7871b Rename SpartanNight to SpartanNight.tid (#3850) 2019-03-11 09:55:14 +00:00
Simon Huber
784db30614 Fix removesuffix filter when title is undefined (#3827) 2019-03-11 09:37:49 +00:00
jdjdjdjdjdjd
26c6d6035e Add Spartan Day palette (#3846)
Ugh, hehe.. this is my first try at this. Hopefully got it right...
2019-03-11 09:25:54 +00:00
jdjdjdjdjdjd
b82cf3d070 Add Spartan Night palette (#3847)
* add Spartan Night palette

This and Spartan Day go hand in hand I feel like.

* Found a typo
2019-03-11 09:25:37 +00:00
Simon Huber
c9b16d88f3 Fix: reveal widget prevent undefined state (#3848)
the state didn't fall back to the default when there was no data-item to extract for a stateIndex

see the google group for a bug report: https://groups.google.com/forum/#!topic/TiddlyWiki/3jiFpayAIRc
2019-03-11 09:04:17 +00:00
Simon Huber
71aed78e2e Fix sticky draggable-placeholders in list macros (firefox) (#3823)
* fix draggable lists for firefox (sticky placeholders)

ff doesn't like whitespace and also those &nbsp; entities make problems

placeholder is styled in vanilla base

* tc-droppable-placeholder styles for tagged-draggable ...

and links-draggable lists

* make it beautiful
2019-03-10 20:05:18 +00:00
Simon Huber
0ab29e2c09 Community Palettes: Twilight by Thomas Elmiger (#3845) 2019-03-10 17:37:05 +00:00
Simon Huber
2dc70682cd Fix for SolarizedLight palette, missing tag and type (#3844) 2019-03-09 17:37:15 +00:00
Simon Huber
441011885c Fix: tm-full-screen when event.event undefined (#3835) 2019-03-09 17:09:34 +00:00
Simon Huber
449fd02cda Update Nord palette + solarized light palette (#3828)
* update Nord palette

* small change

* port solarized light palette

* Update SolarizedLight.tid
2019-03-09 17:08:58 +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
e61c71961b Fix default language
It is supposed to be the built-in core language, en-GB
2019-03-07 18:46:24 +00:00
Jermolene
2c2d03f7a7 Refactor startup action execution so that they can switch language/theme 2019-03-07 18:43:23 +00:00
Jermolene
c036c22826 Add $:/info/browser/language to the info mechanism 2019-03-07 18:42:49 +00:00
Jermolene
0c2689dd78 SaverHandler: Don't generate file if autosave disabled 2019-03-05 15:43:14 +00:00
Jermolene
348a0bc8bc Core: Allow startup navigation to be suppressed
Plugins can suppress it so that they can provide their own startup scroll handling
2019-03-04 16:59:15 +00:00
Jermolene
477c41f843 Add tooltip attribute to select widget 2019-03-04 12:24:16 +00:00
Simon Huber
e8b50df4a6 Porting the Nord palette (#3820)
https://github.com/arcticicestudio/nord

this palette is very popular, available for highlight.js, codemirror, all kinds of desktop/terminal applications ...
would be great to have it in tiddlywiki, too

this is a draft PR, certain things needs to be improved, but looks very good in tiddlywiki
2019-03-03 21:09:42 +00:00
Simon Huber
638eb53429 Add tabindex attributes to edit templates (#3758)
* add tabindex attribute to editor-body edit-template

* add tabindex attr to fields edit-template

* add tabIndex variable to tags edit-template

* add tabindex attr to title edit-template

* add tabindex attr to type edit-template

* add tabindex attr to canonical-uri input

* add tabindex attr (as variable tabIndex) to tag-picker macro
2019-03-02 19:04:27 +01:00
Simon Huber
b6e2985ac6 Fix typo in edit-shortcut widget refresh - missing focus attr (#3815)
* fix edit-shortcut widget refresh - missing focus attr

* + typo fix. NOW it works
2019-03-02 18:16:55 +01:00
Simon Huber
87eab62b7e Make the keyboard-shortcut input focus automatically (#3776)
* add focus capability to edit-shortcut widget

* focus the keyboard-shortcut inputs in the control panel

... there's no other reason why it could have been opened other than just pressing a shorcut ...

... saves the mouseclick
2019-03-02 17:25:49 +01:00
Simon Huber
16bb474fef Partial fix for the sticky dropzone on firefox (#3809)
in my tests listening for the dragend event and removing the tc-dragover class in that case removes the `tc-dragover` every time it should ...

without this, firefox often doesn't remove it and the green bar sticks at the top

investigating now if the droppable widget has a similar problem
2019-03-02 16:13:36 +01:00
Simon Huber
77e6f5c0e3 Fix for "Open" tab placeholders in FireFox (#3806)
* fix for "Open" tab placeholders in FireFox

this PR fixes the placeholders in FireFox not being removed on drag-leave from time to time

it consists of 2 mods where apparently both are needed:

- creating a `droppable-item` macro where whitespace is trimmed. that macro contains the droppable and inserts the placeholders
- removing the `&nbsp;` entity in favor of an inline style `height:2em;` on the placeholder div, putting it in a macro where whitespace can be trimmed, too

I'm investigating if there's a similar fix for the top page dropzone

* remove unnecessary whitespace trim, add css classes

`.tc-sidebar-tab-open-item { position: relative; }`

`.tc-sidebar-tab-open .tc-droppable-placeholer {  line-height:2em; height:2em; } `

* replace times entity with close-button

* add sidebar-open-tab styles
2019-03-02 14:54:23 +01:00
Jermolene
655fc31cee Server: Avoid displaying "undefined" for missing path prefix 2019-03-01 18:28:51 +00:00
Jermolene
18c00c2ef0 Don't allow $:/Import tiddler to be imported 2019-03-01 17:39:42 +00:00
Jermolene
b862348b06 Fix !is[variable] operator
Fixes #3804
2019-02-28 11:54:04 +00:00
Jermolene
36e76429b1 Add is[variable] filter
See discussion here https://groups.google.com/d/topic/tiddlywiki/4rEuAWc4EpM/discussion
2019-02-25 13:08:22 +00:00
Jermolene
810033bd71 Server: include path-prefix in display URL 2019-02-12 18:32:00 +00:00
Jermolene
72f2a94251 Ensure things work when $:/config/AnimationDuration is blank or not a valid number
Thanks @jdjdjdjdjdjd
2019-02-12 12:14:55 +00:00
Simon Huber
f97d18bb6e Adding optional tabindex attr to simple, framed and cm engines (#3756)
* add optional tabindex attribute to factory.js

* add changedAttributes.tabindex to refresh mechanic

* add optional tabindex attribute to edit widget

* remove some extra whitespace

* remove some trailing whitespace

* add optional tabindex attribute to simple engine

* add optional tabindex attribute to framed engine

* add optional tabindex attribute to cm engine
2019-02-08 16:11:39 +00:00
Jermolene
9d7d3fefa0 Split operator: Remove empty strings when splitting
See the discussion on 9b2d527; thanks @kookma
2019-02-08 15:59:07 +00:00
Jermolene
6ff7a7d261 BrowserStorage: Make sure tiddlers loaded from local storage mark wiki as dirty
Thanks @xcazin
2019-02-08 15:38:23 +00:00
Jermolene
0e6855eba8 Add advanced search canned filter for "tiddlers modified this session" 2019-02-08 11:07:06 +00:00
Jermolene
8b04cfd4d5 Fix problem with extraneous raw markup in saved files
Previously, raw markup tiddlers were being saved even if they weren't included in the saveTiddlerFilter. This meant that, for example, using "save empty" button in GettingStarted would include the splash screen markup tiddler.
2019-02-07 18:30:17 +00:00
Jermolene
7df58a6813 Fixed bug with length operator
Thanks @BurningTreeC
2019-02-07 12:56:12 +00:00
Jermolene
dc29acd656 Fixed bug with split operator 2019-02-07 12:45:07 +00:00
Jermolene
9b2d52716a Add new string operators: length, join, split, concat etc. 2019-02-07 11:18:53 +00:00
Jermolene
64b665e706 More maths operators 2019-02-07 11:18:32 +00:00
Jermolene
94f143bf64 Autofocus advanced search text edit input 2019-02-06 17:53:00 +00:00
Jermolene
0ea00b59b0 Add numeric maths filter operators
There are other ways we could add maths to TW5 (including @EvanBalster's awesome https://github.com/EvanBalster/TiddlyWikiFormula) but the approach here has the merit of simplicity because it reuses the existing filter evaluation mechanism. That means that it's not ordinary "2+2" maths, it's a unique list processing language...

Docs to come

Fixes #254
2019-02-06 14:19:55 +00:00
Simon Huber
5e9fc661a9 Tentative: Remove conditional from wrap-selection text-operation (#3749)
As per the discussion in #3749, the original purpose of the removed condition is unknown, and so we cannot be certain that removing it is safe, but doing so seems the best way of discovering more...
2019-02-05 17:18:20 +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
Jermolene
44c66b98a9 Add default prefix for tm-fold-all-tiddlers message 2019-02-05 16:01:24 +00:00
bimlas
ce256102a7 Suggested slightly "better English" wording for the warning 2019-02-04 22:09:31 +01:00
Jermolene
689e172e79 Move some utility functions into boot.js
So that they are available to code running earlier in the boot process
2019-02-03 12:01:38 +00:00
Diego Mesa
5ffcd7e5da When renaming a tiddler only show references if there are any (#3654)
* fixing 3648 - now non updated references are shown only when non zero

Signed-off-by: Diego Mesa <diego898@gmail.com>

* change to list widget

As per @jermolene comments I changed to the list widget

* Putting back the accidently removed title (will no longer use github interface).

Signed-off-by: Diego Mesa <diego898@gmail.com>

* making sure I dont overwrite currentTiddler

Signed-off-by: Diego Mesa <diego898@gmail.com>
2019-02-01 17:33:39 +00:00
Jermolene
5a37a84a54 Enhance plugin library search to all fields
Fixes #3741
2019-02-01 17:26:20 +00:00
Simon Huber
4228c3f9cc Fix bug in reveal widget when stateTitle tiddler is missing (#3745)
in the group this bug was reported

when the stateTitle is missing it tries to get a field string of an undefined tiddler ...
2019-02-01 16:53:29 +00:00
Jermolene
b6d901f888 Innerwiki: Add support for SVG overlays 2019-01-28 18:21:24 +00: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
Jermolene
353821f442 TagManager: Remove extraneous caption field
Fixes #3727
2019-01-26 17:38:46 +00:00
Simon Huber
95dbdff08a Fix bug with event.event.target being undefined (#3683) 2019-01-14 09:41:19 +00:00
Bram Chen
557053ab35 Fix outdated external-js template. (#3657)
Fix outdated external-js template.

Add the missing raw markup sections:
  * the top of the head
  * the top of the body
  * the bottom of the body
2019-01-14 09:18:57 +00:00
Jermolene
e14e69bedc DynaView plugin: add optional scroll position preservation 2019-01-11 17:50:52 +00:00
BurningTreeC
9acff8f21c Add gitter svg + HelloThere link (#3655)
* add gitter svg $:/core/images/gitter

* add gitter link to HelloThere

* Update HelloThere.tid
2018-12-19 09:11:43 +00:00
Rob Hoelz
d8b291bc04 Fix search method for search tokens spread across fields (#3641)
* Fix search method for search tokens spread across fields

Addresses GH #3636, which reports that if you're searching for "test
body", and "test" only appears in the title field, and "body" only appears
in the text field, 5.1.18's search method won't yield that tiddler as a
result, which appears to be a regression from the 5.1.17 behavior

* Add test for searching for multiple tokens across fields

Verifies GH #3636:

> If I create a tiddler in the empty edition with the title "Test tiddler" and content "Body content", searching the wiki for "test body" yields no results under either "title matches" or "all matches". Searching for either word individually turns up "Test tiddler", and repeating this in an empty wiki I created from the 5.1.17 tag causes "Test tiddler" to show up under "all matches".
2018-12-17 11:19:48 +00:00
BurningTreeC
d5ac2ee49e Bugfix button widget: popupTitle refresh (#3650) 2018-12-17 10:52:20 +00:00
Jermolene
42cf077639 Fix basic authentication forced login
Fixes #3647
2018-12-16 18:20:33 +00:00
Jermolene
eea036f803 Update plugin library location for 5.1.19 2018-12-15 16:07:49 +00:00
Jermolene
a8b8fb3b6f Restore default filename when saving changes, and make it configurable
Fixes #3630
2018-12-15 15:55:19 +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
BurningTreeC
a36d8471a8 TOC macro - macrocall wasn't closed (#3622) 2018-12-05 14:30:24 +00:00
BurningTreeC
e3c0616326 Missing stateTitle attribute in unfold viewtemplate (#3617) 2018-12-04 09:13:49 +00:00
BurningTreeC
d00d46a772 Missing stateTitle attribute in subtitle viewtemplate (#3618) 2018-12-04 09:13:27 +00:00
BurningTreeC
40eeba20ef Missing stateTitle attribute in tags viewtemplate (#3619) 2018-12-04 09:13:02 +00:00
BurningTreeC
f163a1f12c Missing stateTitle attr in fold button (#3620) 2018-12-04 09:12:32 +00:00
BurningTreeC
ad799dbb61 Revert setting styles in framed.js (#3614)
this sets the framed-editor styles to 5.1.17 state
2018-12-03 08:55:16 +00:00
BurningTreeC
31e88dd2c6 Revert "remove unnecessary border-radius already set on the iframe" (#3613)
* Revert "v5.1.18 banner artwork"

This reverts commit 70500140b9.

* Revert "Revert #3607 and #3608"

This reverts commit 87b3e470c2.

* Revert "Fix default global keyboard shortcuts for Mac"

This reverts commit e466f62e7e.

* Revert "Comment plugin: Improve styles"

This reverts commit e17456e3bc.

* Revert "Style tweaks for framed editor + preview (#3608)"

This reverts commit c058378da0.

* Revert "Change to natural counting in range[N] operator (#3609)"

This reverts commit b9df224f99.

* Revert "Update release note contributors list"

This reverts commit 0f3912ba95.

* Revert "Make editor-preview not hide text-editor shadow (#3607)"

This reverts commit 11f02dc362.

* Revert "Editor needs to stand out a bit more (#3606)"

This reverts commit d711ef25ed.

* Revert "Tweak for keyboard-shortcuts how-to (#3605)"

This reverts commit 419ea9a243.

* Revert "Remove unnecessary border-radius already set on the iframe (#3604)"

This reverts commit 288d25e733.
2018-12-03 08:51:50 +00:00
Jermolene
87b3e470c2 Revert #3607 and #3608
Hi @BurningTreeC apologies I merged these without properly looking at them, but I think we should move them to 5.1.19 because:

* On Chrome, the new version hides the resize handle on textarea, which can be quite useful
* It's visually quite different, and I think might benefit from more discussion
* It's inconsistent with the CodeMirror editor

Would you mind perhaps starting another PR for edit template enhancements?
2018-12-02 20:57:13 +00:00
Jermolene
e466f62e7e Fix default global keyboard shortcuts for Mac
Fixes #3610
2018-12-02 15:47:32 +00:00
BurningTreeC
c058378da0 Style tweaks for framed editor + preview (#3608)
* remove border: none for iframe from framed.js

... inherits the iframe border 1px solid editor-border in vanilla base

* last style tweaks for editor-preview

same border-radius as framed editor

same additional space at the right as at the left

* Update base.tid

* Update base.tid

* looks actually better with this border
2018-12-02 08:40:11 +00:00
Evan Balster
b9df224f99 Change to natural counting in range[N] operator (#3609)
* Add range operator and documentation

* Use 1-based counting in range[N], update docs
2018-12-02 08:39:28 +00:00
BurningTreeC
288d25e733 Remove unnecessary border-radius already set on the iframe (#3604) 2018-12-01 15:31:34 +00:00
Jermolene
0ecc7c6071 Update plugin library to 5.1.18 2018-12-01 15:21:31 +00:00
BurningTreeC
6e59d2597a Style the framed editor (#3596)
* style the framed editor

this makes the framed editor look a bit less ugly 😎

* Update framed.js

* Update base.tid

* Update base.tid
2018-12-01 14:21:43 +00:00
Andreas Hahn
2bf6203cf5 Improvements to the static single tiddler view as well as documentation. (#3386)
* Improvements to the static single tiddler view as well as documentation.

* Fixed tabs

* Fixed tabs

* Revert static view path

* Documentation updates
2018-12-01 13:30:00 +00:00
BurningTreeC
17232cfe91 Fix missing space between edittemplate tags (#3582) (#3585)
* add tc-tag-list-item to edittemplate  tag

... and remove a space that doesn't do anything here

* we need an `&nbsp` here
2018-11-29 09:51:58 +00:00
Arlen22
603c564872 Add the "tiddlywiki" argument to the server start hook (#3592)
* Update Hook__th-server-command-post-start.tid

* Update server.js

* Update listen.js
2018-11-29 09:51:11 +00:00
BurningTreeC
62cbbf1db4 fix textnodes between tags in viewtemplate (#3587)
this removes additional text-nodes in the dom after each `tc-tag-list-item` caused by the last empty line
we could also just remove that line but I don't know if that's a permanent solution or if some mechanism will re-add that line at some point, so I go with the `whitespace trim` pragma
2018-11-29 09:49:29 +00:00
BurningTreeC
0396af849a Undo #3490 - error in popup-cancelling logic (#3586) 2018-11-29 09:49:11 +00: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
BurningTreeC
545c508138 fix tags-dropdown link (missing-tiddlers ) (#3589) 2018-11-27 20:51:54 +00:00
Mario Pietsch
42f7c03824 tm-open-external-window plus documentation. (#2721)
* first try - tm-open-external-window plus documentation.

* render examples and make help link a global variable
2018-11-27 18:43:25 +00:00
Jermolene
19c49ae18a Fix animations for tags in edittemplate
Fixes #3577
2018-11-25 11:13:42 +00:00
BurningTreeC
ad4107a94b Fix animations in "Open" Sidebar-Tab (#3578) 2018-11-25 11:12:06 +00:00
BurningTreeC
8542ebaecb Fix $tw.platform.isLinux on latest firefox (#3495) 2018-11-25 10:51:42 +00:00
BurningTreeC
cd0ce0cde5 Show tag-icons in tags edittemplate (#3447) 2018-11-25 10:43:13 +00:00
Rob Hoelz
09ea59240a Cancel non-ancestor popups when showing a new popup (#3490)
Addresses GH #3484

As far as I can tell, the popup level checks in this module are
meant to handle nested popups.  It seems to me that the goal is
for at most a single hierarchy of popups to exist at any given time
- bearing that in mind, this change checks any popups currently tracked
by the module, canceling any that don't share an element hierarchy with
the new popup.
2018-11-25 10:42:21 +00:00
Jermolene
a83cd3f984 Change logic of tv-hide-missing-links to tv-show-missing-links
See https://github.com/Jermolene/TiddlyWiki5/pull/3530#issuecomment-441368922
2018-11-24 15:53:39 +00:00
Jermolene
32c8ef1d62 Docs typo
Thanks @pmario
2018-11-24 14:18:59 +00:00
BurningTreeC
3f91d5b3a1 Add tv-override-missing-links to fix links to missing tiddlers (#3530)
* add tv-override-missing-links variable

this lets us set `tv-override-missing-links` true so that we can fix edge cases like the `Filter` dropdown in the `Advanced Search` when `enable missing links` is unchecked in the `Settings` tab of the Control Panel

* add tv-override-missing-links to filter dropdown

* add tv-override-missing-links to type dropdown

* add tv-override-missing-links to fieldname dropd

* add tv-override-missing-links to TagManager(icons)

* undo tv-override-missing-links TagManager

not needed here

* Update link.js

* Update dropdown.tid

* Update fields.tid

* Update type.tid

* Update dropdown.tid

* Update link.js

* simplify all together

* add tv-hide-missing-links to pagetemplate

* do we need to refresh here...

... if the variable gets set on top of the pagetemplate?
2018-11-24 13:36:48 +00:00
BurningTreeC
2541b9b090 Pagescroller - get scroll pos in src window (#3561) 2018-11-21 11:32:22 +00:00
Jeremy Ruston
09330968cc
New "else" prefix for filters (#3558)
* Experimental "else" prefix for filters

See #3557

* Docs updates for "else" filter runs
2018-11-20 13:29:44 +00:00
BurningTreeC
7729649f0e Fix bad function declaration in wiki.js (#3559)
fix for #3555 - inner function declaration should be on top of its "host" function

error originally appeared on firefox v38.0.5
2018-11-20 11:50:12 +00:00
BurningTreeC
430be4ec30 Fix list-tagged-draggable for quotes !! and ## (#3442)
* fix list-tagged-draggable for quotes !! and ##

* Update list.tid

* Update list.tid

* Update list.tid
2018-11-20 11:43:15 +00:00
Adrian Morosanu
f373d8f2bf Tree macro - fix for double quotes (and other special characters) (#3552)
* 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 ($:/)
2018-11-19 10:50:09 +00:00
BurningTreeC
4f78d3d81b Fix untagged-pill popup position (#3550)
this corrects the popup-position of the untagged-pill in the tag-manager, showing on top of the Tiddler, not below the pill
2018-11-19 09:35:06 +00:00
BurningTreeC
72679d2041 Fix bad characters in the TagManager (#3549)
now the tag manager needs some fixes for breaking titles, too

- the `<<__variable__>>` syntax needs to be used
- the `tag-pills` don't use the tag-pill macro, but `{{||$:/core/ui/TagTemplate}}` directly
- some already sufficiently qualified states in the `iconEditor` macro are reduced to not use the `qualify` macro
2018-11-18 20:58:03 +00:00
BurningTreeC
33ba69e852 Modals: Display in source-window (#3539)
* Make modals display in source Window

this makes modals display within the window where they got opened, with the parameter `rootwindow` that, if `yes` or `true`, shows the modal always in the root TW window (`<$action-sendmessage $message="tm-modal" $param="mymodal" rootwindow="yes|true"/>`)

* pass the full event to $tw.modal.display

we need the event there to find `srcDocument` and `srcWindow`

* pass event in options object

* update modal.js to use options.event

* add docs for rootwindow tm-modal attribute
2018-11-18 20:57:04 +00:00
Jermolene
3aae643e14 Reveal widget with lazily loaded state tiddlers
Fixes #3476
2018-11-18 19:31:53 +00:00
BurningTreeC
849844be12 Add stateTitle stateField stateIndex attributes (#3529)
* make triggerPopup optionally set state directly

* update button widget for new state attributes

* update reveal widget for new state attributes

* fix errors in button widget
2018-11-18 19:16:46 +00:00
BurningTreeC
2b6514ddc2 Use new state* attributes for reveal and button widgets (#3531)
* 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
2018-11-18 10:54:12 +00:00
Jeremy Ruston
33dd367a65
Introduce new subfilter operator (#3508) 2018-11-16 11:27:19 +00:00
BurningTreeC
9752531b61 FIX for keyboard widget keyInfoArray (#3544)
apologies
2018-11-15 21:40:27 +00:00
BurningTreeC
43c8a0f485 Keyboard Widget: refresh keyInfoArray (#3541)
this makes a keyboard widget update its keyInfoArray if its key has the `((descriptor))` format and one of the platform-specific configuration tiddlers with that descriptor-suffix changes
2018-11-15 16:50:23 +00:00
BurningTreeC
4f7297645d Fix action-navigate widget for undefined event (#3542)
we need to prevent the event from being undefined which happens when using `action-navigate` within a global keyboard shortcut
2018-11-15 16:49:41 +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
BurningTreeC
0ff96f9caf [pagescroller] add callback function option (#3473)
this allows using the pagescroller for scrolling elements into view where the rect gets calculated somewhere else

Example: CodeMirror has the `cm.cursorCoords()` function that returns the rect of the textselection (or cursor coordinates)

this scrolls the cursor or text selection into view using tiddlywikis pagescroller:

`$tw.pageScroller.scrollIntoView(undefined, function() { return self.cm.cursorCoords(true,"window"); });`
2018-11-15 14:58:32 +00:00
BurningTreeC
c82edbe6bc New window: add missing click listener for popups (#3538)
this adds a click listener to new windows which enables us to cancel popups by clicking
2018-11-13 18:08:54 +00:00
BurningTreeC
55b5b6dd56 PageScroller: scroll in new windows (#3537)
* make pageScroller work in new windows

* update getScrollPosition to work for new windows

* Update dom.js
2018-11-13 18:07:55 +00:00
BurningTreeC
22caef9e34 Fix NewImageType config (#3523)
* fix new-line in NewImageType config

sorry for this, too

* fix NewImageType config tiddler

* use "text" field for config
2018-11-07 16:51:55 +00:00
BurningTreeC
d64fc5d8cd Fix new-image button (#3521)z
sorry for the mistake
2018-11-07 16:05:56 +00:00
BurningTreeC
9f8a74c6d9 add new-tiddler new-journal new-image keyboard shortcuts (#3512)
* add new-tiddler action tiddler

* use new-tiddler action-tiddler

* use new-tiddler action-tiddler correctly

* use new-journal action-tiddler

* create new-journal action-tiddler

* use new-image action-tiddler

* add new-image action-tiddler

* create new-image type config

users may prefer png over jpeg for example

* add new-tiddler keyboard shortcut

* add keyboard shortcut configs

* add keyboard shortcuts ShortcutInfo

* add new-journal Keyboard shortcut

* add new-image keyboard shortcut

* Create Hidden Setting NewImageType.tid
2018-11-07 12:59:21 +00:00
BurningTreeC
6c9dfd7f62 Fix tag macros problem with double quotes (#3437)
* [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
2018-11-06 21:35:36 +00:00
Jermolene
4f8e32a647 Change qualify widget parameter name to match qualify macro 2018-11-06 16:41:18 +00:00
BurningTreeC
4d1127ed5b Fix tc-adjust-top-of-scroll (#3475)
* correct scrolling with tc-adjust-top-of-scroll

not multiplying `offset` with t causes jumps at the first animation steps, where the offset value is bigger than `endY - scrollPosition.y`

* correct scroll offset
2018-11-06 16:23:46 +00:00
Jermolene
d7914e3f3e Merge branch 'master' of https://github.com/Jermolene/TiddlyWiki5 2018-11-06 15:29:16 +00:00
Jermolene
698224556e Avoid wikify widget in TOC macro
Fixing the most egregious problem from #3517

@pmario can you kindly retest?
2018-11-06 15:29:13 +00:00
BurningTreeC
aeaf5ee5b6 FIX "Observe openLinkFromOutsideRiver ..." (#3516)
I assumed the attribute to be available but it's not
2018-11-06 14:33:41 +00:00
BurningTreeC
97b098b059 Observe openLinkFromOutsideRiver when creating new tiddlers (#3514) 2018-11-06 13:55:18 +00:00
BurningTreeC
457f03798c Fix error opening new windows with popup-blocker (#3515)
this prevents errors when a popup blocker blocks opening a new window from within a running TW
2018-11-06 13:54:00 +00:00
BurningTreeC
3592333cb8 Add support for global keyboard shortcuts (#3493)
* changes for global keyboardshortcuts

* add keyboard.js startup module

* remove not existing "th-opening-window" hook

* correct title

* use utils.addEventListeners

* define platform lookup-names on startup

* use the startup-lookup-names array

* use the platform-specific lookupNames only

* Update keyboard.js

* move initializations to the constructor

* move initializations to the constructor

* rename hasAnyTiddlerChanged

* don't explicitely create new RegExp

* use $tw.utils.hopArray

* match strings, no regex

* remove hopArray, move to boot.js

* add $tw.utils.hopArray to boot.js

* style update

* style updates

* move more to keyboardManager module

this could probably be moved to rootwidget.js

* move more to keyboardManager module

* add event listener for shortcuts in new windows

* prevent error when opening window is blocked

* add keydown listener on document in startup.js

* delete startup/keyboard.js

* add missing this.shortcutTiddlers

* Update keyboard.js

* Update boot.js

* add exports.hopArray to utils.js

* minor codingstyle tweak

* change how lookupnames get pushed to array

* Update windows.js

* re-add shortcuts-listener for new windows

I removed this before which I think was because I misunderstood what exactly should go to a separate PR
2018-11-06 13:34:51 +00:00
Jermolene
b584295831 Fix crash with search operator with blank field list 2018-11-01 12:56:56 +00:00
Jeremy Ruston
6dcdc2049a
Enhance search operator (#3502)
* Enhance search operator

* Add support for searching all fields

and also searching all fields except nominated fields.

* Docs tweaks

Thanks @pmario

* Error message improvements

* Improve error message formatting
2018-10-30 17:39:18 +00:00
Yurii Rashkovskii
c0c1b557eb Problem: revealed dropdown menu on mobiles (#3491)
On mobile phones, tiddler's dropdown menu stays partially off-screen.

Solution: ensure that the revealed coordinates are never negative

Closes #3486
2018-10-21 16:53:45 +01:00
Jermolene
6b03ba9876 Syncer: support configurable polling interval 2018-10-19 16:32:23 +01:00
Jermolene
d50e2df57b Syncer: fix problem with incoming tiddlers
The bug here is that incoming tiddlers (ie tiddlers that were updated on the server and synced back to the browser) will retain any fields that are currently present but deleted in the incoming tiddler
2018-10-14 15:35:26 +01:00
Jermolene
9c849eb10a WebServer - change /login-basic route to /login/basic
To avoid clashing with tiddlers called "login-basic" :)

We also need to revise the rout for /status for the same reason, but there are backward compatibility issues there
2018-10-13 17:22:21 +01:00
Cameron Fischer
d8007386cf Fix issues with ordering of tagged items (#3301)
* Added better handling for sortByList manual placements

If manual placement specifications show up in an inconvenient order,
sortByList, will go to the trouble of processing them in that order.

* Added tests to confirm solution to (#3296)

...That custom tag ordering will not choke when tiddlers get sorted after their dependencies have been placed around them

* Corrected list-after bug when referencing external titles

* Using more error-proof $tw.utils.hop in sortByList

* minor indentation correction in test-tags.js
2018-10-07 12:15:33 +01:00
BurningTreeC
5dcdff4b37 Fix scrolling with tc-adjust-top-of-scroll (#3467)
not multiplying `offset` with t causes jumps at the first animation steps, where the offset value is bigger than `endY - scrollPosition.y`
2018-10-07 10:23:41 +01:00
Jermolene
83a245ed21 Refactor utility for converting tiddlers to JSON 2018-10-01 11:27:45 +01:00
Jermolene
f162f4bc7b Typos missed from a9dd8c2 2018-09-28 18:18:07 +01:00
Jermolene
a9dd8c2f52 Use the new import pragma
Good for the core to show best practice
2018-09-28 16:25:54 +01:00
Jermolene
fe85845c3c Add new "\import" pragma 2018-09-28 16:01:32 +01:00
Jermolene
cfb2d7c9c8 Add support for splash screens during loading
Fixes #3417

Addresses some of the requirements discussed in #2254
2018-09-27 09:47:55 +01:00
Jermolene
7282bf4721 Fix search result count
It's been broken since 097c87f
2018-09-26 16:20:13 +01:00
Jermolene
7368cc74e1 Remove inadvertant usage of Object.assign
In order to retain compatibiltiy with IE11

See this discussion: https://groups.google.com/d/topic/tiddlywiki/RjA7_mee5oc/discussion
2018-09-21 10:56:01 +01:00
Jermolene
f98b4d5956 Add more logging for drop operations 2018-09-13 20:42:35 +01:00
Jermolene
e4e7a0912d Revert "Fix tag macro problems with bad characters in title/tags (#3435)"
This reverts commit b76c5011cf.

Thanks @pmario @BurningTreeC, let's redo this.
2018-09-12 08:42:56 +01:00
Jermolene
d650784dd6 Fix typo in keyboard shortcuts UI 2018-09-11 16:06:29 +01:00
BurningTreeC
b76c5011cf Fix tag macro problems with bad characters in title/tags (#3435)
this fixes the tag macros when titles are used that contain quotes, especially triple quotes and more
2018-09-11 16:05:39 +01:00
Jermolene
e5550b91e6 Further TOC fixes
Continuing the work of 587fe9d10e

Fixes the test case in @BurningTreeC's comment: 587fe9d10e (commitcomment-30450611)
2018-09-11 13:02:28 +01:00
Jermolene
587fe9d10e Fix TOC macro with titles ending with double quotes
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
2018-09-10 12:56:38 +01:00
Jermolene
874318091e Fix crash with illegal arguments to decodeuri(component)
Fixes #3428
2018-09-09 20:48:53 +01:00
Jermolene
f2a38960fc Fix external JS template to work with the TW5 webserver
It's a bit gross that we have to change the filename used to reference the JS file. This is to make it work with the webserver.

At the moment, the webserver exposes system tiddlers as plain text renderings, and ordinary tiddlers as full HTML renderings through a view template. So we have to use a system tiddler title for the JS file.

The workaround I'm thinking of is to remove the blanket exposure of system tiddlers, and instead have a list of system tiddlers that are specifically exposed through a namespace like `127.0.0.1:8080\lib\tiddlywiki.js`. That can't clash with a tiddler title because tiddler titles are URI encoded and so can't contain slashes.
2018-09-05 08:57:29 +01:00
Jeremy Ruston
3d10a35fb7
Add support for externalising TW's JavaScript (#3423)
* Explore externalising TiddlyWiki's JS core into a separate file

* Fix missing newline after copyright notice

* Add an error alert if tiddlywiki.js can't be loaded
2018-09-05 08:44:27 +01:00
Jermolene
19f7287a53 Add $:/tags/TiddlerInfoSegment for adding segments to the tiddler info panel 2018-08-30 13:42:51 +01:00
Jermolene
e237d8fa97 Transliterate servername to safe ASCII
Fixes #3410
2018-08-24 14:33:31 +01:00
Jermolene
0f7ce7b67f Refactor navigator widget to use story utility to manipulate the storylist as well as the historylist 2018-08-23 18:31:48 +01:00
Jermolene
3bfa9c6f10 Experimental "persistent draft indicators"
Fixes #3409
2018-08-23 18:02:39 +01:00
Jermolene
63ad284784 Fix variable name in PageTemplate 2018-08-23 17:43:34 +01:00
Jermolene
7dbe117bc5 Add username (if set) to the title of draft tiddlers
Makes things a bit easier to follow when working in multiuser environments.

@inmysocks, @danielo515, @arlen22, @pmario, @drakor does this make sense for your use cases?
2018-08-23 17:43:06 +01:00
Jermolene
7a6213dcbf Update code comment for $tw.utils.http 2018-08-23 13:13:49 +01:00
Jermolene
09112ed455 Add support for webp, heic, and heif image formats
https://en.wikipedia.org/wiki/WebP
https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format
2018-08-21 11:46:46 +01:00
Jermolene
d96c844264 Use the sitetitle as the default filename for saving 2018-08-20 15:38:57 +01:00
Jermolene
fbaceaa8bd Don't steal "paste" events from contenteditable elements
Fixes pasting with a WYSIWYG editor
2018-08-20 15:26:41 +01:00
Andreas Hahn
fe527b7eaf Fixed type mismatch (#3403) 2018-08-19 18:22:52 +01:00
Jermolene
f218c946f1 Fix usages of is[current] that can be changed to all[current]
Fixes #3402
2018-08-18 14:47:35 +01: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
Jermolene
b55a3102be Fix typo from 8a38685 2018-08-16 16:08:33 +01:00
Jermolene
8a38685de9 Optionally adjust scroll targets to allow for a top menu bar
Fixes #3396
2018-08-16 12:07:50 +01:00
Jermolene
763f8afaf2 Add "contains" filter operator for searching list fields 2018-08-15 13:50:07 +01:00
Jermolene
3140ff9e49 Extent tm-full-screen message to support forcing the status
Now one can force "enter" or "exit", instead of just toggling the current status
2018-08-14 22:53:53 +01:00
Jermolene
7b9dc7557c Popup manager enhancements 2018-08-09 19:39:58 +01:00
Jermolene
c87c18be96 Fix tm-new-tiddler overwriting creation fields of existing tiddlers
Fixes #3371
2018-08-08 15:08:34 +01:00
Jermolene
097c87fa7b Modularize the sidebar
Fixes #2758
2018-08-02 13:22:21 +01:00
Jermolene
2d231a2e07 Fix typo in reveal widget
Introduced in a3a4c28143
2018-07-31 13:30:00 +01:00
Jermolene
4b9bc1b766 Fix crash with malformed hexadecimal HTML entities
Fixes #3373
2018-07-28 16:22:38 +01:00
Jermolene
a3a4c28143 Fix bug with reveal widget not refreshing when state tiddler changes 2018-07-20 17:07:48 +01:00
Jermolene
8520c9d8fd Coding style tweaks for #3346 2018-07-19 21:48:40 +01:00
Evan Balster
be58de8409 Add range operator and documentation (#3346) 2018-07-19 21:42:09 +01:00
Jermolene
34e04b7ca6 Minor tweaks for #3362 2018-07-19 21:28:31 +01:00
Arlen22
aa8b2e11bb Allow all methods and add bodyFormat property to route definition (#3362)
* Allow all methods and add bodyFormat property to route definition

* Set string as the default bodyFormat

* Only set encoding on string routes
2018-07-19 21:24:57 +01:00
Jermolene
8b787cd806 Add new palette colours from #3360 to other core palettes 2018-07-19 21:19:21 +01:00
Jermolene
1317e13974 Fix issue with #3360
See https://github.com/Jermolene/TiddlyWiki5/pull/3360#issuecomment-406400700
2018-07-19 21:18:54 +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
c72e4f01f1 Fix typo in excise button
It meant that the excise button didn't appear on tiddlers of type text/vnd.tiddlywiki
2018-07-03 11:12:12 +01:00
Jermolene
bef3242075 New text editor operation: save selection to a tiddler 2018-06-29 15:09:51 +01:00
Jermolene
f54a0a11bc Add support for editor toolbar buttons to have action widgets 2018-06-29 15:09:34 +01:00
Jermolene
acaa07a964 First stab at a threaded commenting plugin 2018-06-21 08:36:15 +01:00
Jermolene
1ce9973bed Add optional debug logging to the server command 2018-06-20 12:43:41 +01:00
Jermolene
c29f5a1b61 Server command: map missing path to "/"
Otherwise, the user gets a 404 if we use a path prefix and the user omits the trailing slash
2018-06-20 12:18:35 +01:00
BurningTreeC
2a3f1b4403 Make tm-full-screen work in all windows (#3334)
this makes tm-full-screen work in new windows, too
2018-06-16 10:03:38 +01:00
Jermolene
7557b8b5b7 Remove extraneous debugging code from 35cbb127a3 2018-06-15 11:34:06 +01:00
Jermolene
35cbb127a3 Restrict variable substitutions to macros defined with the define pragma
Fixes #3333
2018-06-15 08:31:02 +01:00
Jermolene
aba9c94f5a Fix coding standards for put.js
A few minor things, but the accidental use of "const" is serious: TW5 is intended to run on ES5.
2018-06-13 15:50:47 +01:00
Jermolene
bacf500d50 Avoid deprecated new Buffer() usage
See https://alexatnet.com/node-js-10-important-changes/#buffer-1

> Uses of new Buffer() and Buffer() outside of the node_modules directory will now emit a runtime deprecation warning.

More details: https://nodejs.org/api/buffer.html#buffer_buffer_from_buffer_alloc_and_buffer_allocunsafe
2018-06-13 11:22:17 +01:00
Jermolene
2e51f08bef Add support for rebasing headings at render time
Fixes #3330
2018-06-10 15:54:23 +01:00
Jermolene
29606c6d24 Refactor new journal actions
Using contained actions, as we were, meant that the actions (and in this case the wikify widget) were being rendered at render time, but might have been out of date by the time the actions were triggered. Using the action attribute ensures the actions are rendered when they are executed.

Fixes #3326
2018-06-06 19:41:02 +01:00
Jermolene
6b14969cf6 Display a warning for binary tiddlers in view mode
The base64 data is currently parsed as wikitext, which is slow and unhelpful

We already display the same warning for binary tiddlers in edit mode.
2018-05-18 17:53:07 +01:00
Jermolene
33453039fc Fix broken import previews
All three were inadvertently showing the existing tiddler (if any), not the imported tiddler.
2018-05-16 17:40:15 +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
737e9ae4cb Revert multiple suboperator functionality from the "is" operator
See the discussion here: https://github.com/Jermolene/TiddlyWiki5/pull/3240#issuecomment-388035466
2018-05-10 13:15:49 +01:00
Jermolene
e11282cc08 Fix name of print tiddler button 2018-05-10 11:36:57 +01:00
Jermolene
2beae0db2e Tweaks for the new print tiddler toolbar button 2018-05-10 11:35:18 +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
b95aa6ec6a Fix problem with repeated "new journal" with text set
Fixes problem whereby a repeated "new journal" would replace the text of the existing journal tiddler if the control panel new journal text was set.

Fixes #3028 and #3265
2018-05-10 11:28:07 +01:00
Jermolene
e6466b2c32 Fix problem with extraneous space in new journal titles 2018-05-10 08:52:02 +01:00
Matt Lauber
0ab9ec1ad3 Refactored the is operator for simplicity and efficiency. (#3240)
* Refactored the is operator for simplicity and efficiency.

* Improve `is` filter documentation.

* Update is.js

* extracted `subops.length` to `num_of_subops`
* renamed `subop` to `operator` for clarity/differentiation from `subops`
* refactored to avoid using a `Set` object.

* Update is.js
2018-05-09 18:07:08 +01:00
Devin Weaver
230c13129a Fix undefined xhr bug (#3262)
Closes #3261

Bug introduced in commit f9be41720 ("Minor tweak for RetrieveETag
(#3257)", 2018-05-05)
2018-05-09 18:04:52 +01:00
Daniel Rodríguez Rivero
4c89bbabbe Retain $:/status/UserName when logged out (#2893)
The user name tiddler should not be removed just because we are not logged in
2018-05-09 14:22:55 +01:00
Bram Chen
f9be417204 Minor tweak for RetrieveETag (#3257)
Need to check if the server responses a null value for ETag.
(In the case testing with build-in webdav server of CarotDAV on Windows 10)
2018-05-05 11:40:41 +01:00
Sebastian Silva
46e8e4343a Fix WebDAV by requesting new ETag. (#3230)
* Fix WebDAV by requesting new ETag conditionally

For me. this was saving only the first time and subsequently failing.
Having revised the requests, I noticed it didn't get a new ETag after saving.
Seems not all WebDAV implementations return a new ETag in PUT requests.

In my WebDAV service (WsgiDAV) - ETag is only served from a HEAD
request.

So if no ETag is found with PUT - we request one with HEAD.

This patch fixes error handling and should also work with servers that
provide ETag directly upon PUT.

* Add tweak from PMario
2018-05-04 11:48:38 +01:00
Jermolene
ab5e5795e8 Fix issue with lazy loading temporary tiddlers
Fixes #3235
2018-05-03 18:27:17 +01:00
Jermolene
c569df4bd4 Update hint for sticky titles option
Fixes #3249
2018-05-03 16:14:05 +01:00
Jermolene
b2173d11ea Restore default of preview pane hidden 2018-05-02 16:52:45 +01:00
Sebastian Silva
895447c40c Add write condition for DAT protocol (#3244)
In order to write to a DAT with Beaker Browser, it needs to have access to the file via `dat:` protocol.
2018-05-02 15:57:47 +01:00
BurningTreeC
5626148202 Fix for sidebar not showing #3223 (#3226)
* fix for sidebar not showing

I believe this fixes #3223

* add explaining comment

* ... and fix indentation.
2018-05-02 15:31:26 +01:00
Jermolene
aab408109f Prepare for v5.1.17 2018-05-02 15:28:17 +01:00
Mario Pietsch
19085a1277 Add data attributes to ViewTemplate (#3209)
* change 3 set-widgets to 1 var-widget call. Add data-tags and userClass.

* add new documentation and change the existing one accordingly.
2018-04-24 22:08:20 +01:00
Matt Lauber
c974858cf5 Add Range widget (#2988)
* Adds a range widget 

Adds a range widget that supports all the range attributes on a input[type=range] element.  These include min max and increment.

* Update range.js

* Fix spaces vs tabs.

* Added documentation.
2018-04-24 22:05:05 +01:00
Tobias Beer
f26bcb273b Fix new field value handling in edit template (#3048)
prevents variables in the value from being replaced when adding a new field
2018-04-24 22:03:59 +01:00
Tobias Beer
61f9adb710 allows to add link via ENTER in input (#2703)
simplified / refactored actions
2018-04-24 22:02:04 +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
Matt Lauber
5ea6c9a273 Modify the is operator to allow multiple types to be specified. (#2982)
* Modify the is operator to allow multiple types to be specified.

* Fixed indentation.

* Fixed indentation.

* Rewritten to maintain input order when multiple filters provided.

* Updated documentation.

* Update is.tid
2018-04-12 13:21:49 +01:00
Arlen22
2163302190 Invoke hook when server starts (#3024)
* Invoke hook when server starts

Invokes the `th-server-command-start` hook when the server is started, with the server object as the parameter. This allows adding a WebSocket listener to the server.

* Return the HTTP server from the listen function

Returns the node HTTP server created in the listen function to allow extension

* Add node HTTP server to server-command-start hook

* Change hook to post start in case we add a pre-start hook

* Create Hook__th-server-command-post-start.tid
2018-04-10 21:55:54 +01:00
jed
3af0487f29 Add hooks for canceling editing a tiddler, new tiddler and renaming a tiddler (#3206)
These hooks are used by the multi-user plugin and are required to make the live two-way updating between the file system and the browser
2018-04-10 19:52:00 +01:00
BurningTreeC
afe14b47b5 draggable widget: actions on drag-start and drag-end (#3203)
* pass drag-start end drag-end actions to draggable

* Update dragndrop.js

* Update dragndrop.js

* Update dragndrop.js

* Update dragndrop.js

* Update dragndrop.js

* renaming dragstart/dragend -> start/end

* renaming dragstart/dragend -> start/end

* adding docs
2018-04-08 10:29:17 +01:00
Tobias Beer
f092d08358 sets checked class for radio widget wrapper / label (#2182)
* sets checked ckass for radio widget wrapper

* added tc-radio as standard class for radio widgets

* removed selectedClass again, as suggested

@pmario ;-)
2018-04-08 09:52:41 +01:00
Jermolene
ea763d0eab Add support for retaining tab content
Fixes #2031
2018-04-08 09:47:57 +01:00
Jermolene
df1f7e9798 Put saver: fix missing "else"
Thanks @arlen22
2018-04-08 09:37:49 +01:00
Tobias Beer
02529a51d0 Improve styling and reusability of palette, language, and theme switchers (#1954)
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
2018-04-06 17:26:54 +01:00
Jermolene
0c3e549235 Fix TOC recursion detection
We need to explicitly guard against tiddlers tagged with themselves.
2018-04-05 16:32:35 +01:00
Jermolene
df0b8b5a1e Rescind preview pane default of "diff"
It was done temporarily to make the prerelease clearer
2018-04-03 19:02:42 +01:00
Jermolene
9e03264ebe Add pluggable previews to the import listing 2018-04-03 17:50:57 +01:00
Jermolene
53f2cc9814 Add compareTiddlers macro 2018-04-03 17:50:36 +01:00
Jermolene
0080728d36 Improve diff count for diff-text widget 2018-04-03 17:50:17 +01:00
Jermolene
47cdf55133 Add new subtiddlerfields filter operator 2018-04-03 17:48:01 +01:00
Mario Pietsch
2e8eb15536 Tag completion min length (#3190)
* tested with tw5.com index.html

* Controls the length of the input before the tag list is filtered
2018-04-02 19:43:18 +01:00
Mario Pietsch
e4660a8cc1 Fix new journal here (#3189)
* fix new journal here if template contains a quote "

* typo
2018-04-02 19:42:26 +01:00
Skeeve
6401b5c886 Now fixing bug mentioned in groups (#3188)
* fixed the "0 is not a number bug" in listops and x-listops

* Fixed one comment

* "default" is not a good name for a variable

* Following code styles.
Moving getInt to utils.

* Removing unwanted spaces introduced by me
2018-04-02 19:40:47 +01:00
Rizwan
501ad2798f Add ability to trigger actions on unchecking checkbox widget (#3182)
* Add uncheck-actions to checkbox widget

* Update checkbox.js

* Docs for "uncheckactions" param of checkbox widget
2018-04-02 19:39:59 +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
Mario Pietsch
019cb6a542 Fix #3078 (#3185) 2018-03-23 11:08:53 +00:00
BurningTreeC
44a7ca7e43 Fix duplicate shortcut (#3187) 2018-03-23 11:07:50 +00:00
Jermolene
1c6942402e Add support for startup actions 2018-03-23 09:35:39 +00:00
Jermolene
28e713caac Add screen width/height to platform information exposed at startup 2018-03-23 09:13:45 +00:00
Jermolene
1b31004941 Shift dropdown left for "more" tiddler toolbar button 2018-03-22 21:39:26 +00:00
Jermolene
8e9330e484 Minor tweaks for #3157 2018-03-22 20:37:06 +00:00
Rizwan
033feda02d Adding comparative operators to reveal widget (#3157)
* Adding comparative operators to reveal widget 

>, <, >=, <=

* Adding documentation and formatting changes

* Bring Alphanumericals to the scope of comparison operation
2018-03-22 16:51:02 +00:00
Jermolene
f1b38c42f9 Fix problem with rotate-left bitmap operation
Spotted by @BurningTreeC  - c0569849d2 (commitcomment-28211117)
2018-03-22 10:46:57 +00:00
Matt Lauber
6963a54c66 Better Editor Toolbar Conditions (#3180)
* The Excise tool only works with tiddlywiki5 format, so only display it on tiddlers that use the tiddlywiki5 parser.

* The Editor Height tool and stamp tool only make sense with text editors, so only display them when the content type starts with text
2018-03-19 18:01:24 +00:00
BurningTreeC
54f2c4c34f add transcludify & linkify shortcuts (#3174)
* add transcludify & linkify shortcuts

* correct shortcuts
2018-03-19 15:55:35 +00:00
BurningTreeC
e92e109162 Transclusion -> Transcludify (#3173)
my mistake, sorry to all!
2018-03-19 15:54:57 +00:00