Commit Graph

243 Commits

Author SHA1 Message Date
Jermolene 98bafd0b69 Tweaks for RSOD adjustments 7468ad7
Better to centre the button
2018-05-10 15:29:31 +01:00
Mario Pietsch 7468ad7acf Make rsod less annoying (#2799)
* give js-error form its own CSS rules. error form should not exceed screen size

* fix whitespace
2018-05-10 14:45:50 +01:00
Jermolene c64fc164fc Fix mime type for 2c7f467 2018-05-04 17:49:21 +01:00
Jermolene 2c7f467514 Add support for /*\ style metadata comments at the top of CSS files
Just as we already support for JS files
2018-05-04 17:38:30 +01:00
Arlen22 f4496d8fd3 Allow specifying a custom boot path (#2990) 2018-04-08 09:38:28 +01:00
Jermolene 57e1fc6cd8 Add file type for true type fonts 2017-12-21 22:02:04 +00:00
Jermolene 358d416526 Further optimisations to wiki store
These changes give us a minor performance improvement for adding and deleting tiddlers
2017-12-21 22:01:52 +00:00
Jermolene 254e1ca7f7 Optimise some tiddler store operations
I noticed that the rendering of a TOC with around 200 entries seemed frustratingly slow.

First, I analysed the execution of the code using the Chrome developer tools "timeline" tab: prepare by switching to the "Tools" tab, then start profiling, switch to the "Contents" tab, and then stop profiling once it has displayed. I then used the "bottom-up" view to dectermine that the various Object.keys() calls in the main wiki store were taking around 500ms of the overall time.

Before making any code changes, I also used TW's built in instrumentation to get some baseline timings: I found that the main refresh cycle was taking around 3.0s when rendering the Contents tab.

I then performed the attached simple optimisations of caching the list of tiddler titles and the list of shadow tiddler titles.

The results bring the overall main refresh time down to about 1.9s, a nearly 50% improvement.

The moral of the story is that the first rule of optimisation is measurement...
2017-12-21 15:46:01 +00:00
Tobias Beer a2c764d407 enable doc contributions for dev (#3047)
* enable doc contributions for dev

fixes #2921

* involves changes to boot.js to properly build OriginalTiddlerPaths on
Windows
* added ContributionBanner
* added Sources tab to info panel
* updated tiddlywiki.info for dev

* normalize path separator to posix for windows

* more generically transform to posix
2017-12-12 13:50:33 +00:00
Jermolene 29364cbd08 Change http://*.tiddlywiki.com/* to https:// 2017-11-11 11:56:20 +00:00
Jermolene 95b84dd0ca Use filename as default title when loading tiddlers under Node
Fixing this regression gets the `classictools` plugin working again
2017-11-05 14:14:00 +00:00
Jermolene 378e00aee8 Give a warning message for missing plugin.info files 2017-09-12 15:53:52 +01:00
Jermolene 596dfa1d50 Allow manual selection of deserializer for dropping or importing files 2017-07-12 16:42:16 +01:00
Jermolene a4035d3424 Coding style tweaks for #2885 2017-06-09 16:21:39 +01:00
Arlen22 0bc325025a Add a callback to $tw.boot.boot() (#2885)
* Add a callback to $tw.boot.boot()

* Move callback into the options object

* Update boot.js
2017-06-09 16:20:12 +01:00
Jermolene 8804278e6e Add OpenOffice docx and pptx file types 2017-03-17 14:20:17 +00:00
Jermolene 779e62a30f Add support for JSON files containing a single tiddler
At the moment, we support JSON files containing an array of tiddlers.
With this change the core will import files containing a single
tiddler. Also adding templates for saving individual tiddlers in JSON
format
2017-03-17 14:19:43 +00:00
Jermolene 9fc2086b71 Optimise sameday filter
I used this test:

console.time();for(var t=0; t<200; t++)
{$tw.wiki.filterTiddlers("[all[tiddlers+shadows]sameday[20170210]]");};c
onsole.timeEnd()

Before this patch, I got speeds of approx 190ms, versus 140ms
afterwards.

Note that the ability to add a cache property like this is only
possible because tiddler objects are immutable.
2017-02-21 08:31:05 +00:00
Jermolene 75b501f681 Optimise $tw.utils.parseStringArray()
On my machine, the following test performed on the prerelease improves
from 40ms to 8ms with this patch:

```
var a =
$tw.utils.stringifyList($tw.wiki.allTitles());console.time();$tw.utils.p
arseStringArray(a);console.timeEnd()
```
2017-02-19 18:08:15 +00:00
Jermolene d5b04c2688 Fix problem with loading metafiles
This issue was introduced in 1b41b44684.

Fixes problem raised by @pmario in
https://github.com/Jermolene/TiddlyWiki5/commit/3708f6c8e4f4bf2ea1cb10b0
fa685888485f788a#commitcomment-20848240
2017-02-12 12:14:04 +00:00
Jermolene 1961db6732 Register alternate mime type for Markdown files
macOS considers them to be `text/markdown`, which meant that dragging
an .md file ended up with the wrong content type
2017-02-11 12:48:41 +00:00
Jermolene 6b2ab90721 Update hook mechanism so that multiple parameters can be passed 2017-02-09 15:42:21 +00:00
Jermolene ad9769451d Add filename-uri-decoded support for tiddlywiki.files 2016-12-15 17:13:32 +00:00
Jermolene 3c715c5e0d Extend require() to try appending index.js as well as .js
Better Common/JS compatibility
2016-11-23 18:13:26 +00:00
Jermolene 632e062749 Add epub file type 2016-11-14 15:14:33 +00:00
Jermolene b8cbc07c54 Add support for uri decoded components in tiddlywiki.files files 2016-11-14 15:14:25 +00:00
Jermolene 7f11c151f0 First pass at bibtex importer 2016-10-18 18:00:01 +01:00
Jermolene 52cef1394c Fix typo in 1b41b44684 2016-10-18 13:33:54 +01:00
Jermolene 537cfcbf79 Addendum to #2610
* Ensure we don’t try to read tiddlers from `.meta` files
* Improve docs
2016-10-15 18:06:17 +01:00
Jermolene 1b41b44684 Improve support for bulk loading tiddlers under Node.js
Fixes #2610
2016-10-15 16:23:17 +01:00
Jermolene e4f3d56bdc Correct reference to missing variable 2016-10-06 14:50:54 +01:00
Jermolene 20daaae7e8 Make $tw.utils.stringifyList() resilient to null values in the array 2016-09-30 18:28:12 +01:00
Jermolene 06b7de415c Ensure cancel button in login prompt doesn't also submit form
Fixes #2561
2016-08-29 19:13:25 +01:00
Jermolene 3a2ea9b98b Register .xlsx filetype 2016-08-20 17:08:44 +01:00
Jermolene da1905b789 Revise default for `Buffer` in the browser
Back in 7d12d89a0a we added support for
Node.js global `Buffer` object, explicitly exposing it to the module
loader sandbox. The value `{}` was used in the browser, but is now
causing problems with libraries that perform feature detection.
2016-08-20 17:08:24 +01:00
Jermolene ba2f831d8c Fix parsing of multids files
The old code required a space after the colon separating the title
fragment from the text, and didn’t trim the strings. The new code is
more tolerant, by not requiring the space, and trimming the strings.
2016-08-18 08:58:54 +01:00
Jermolene e282ff1d92 Fix problem with tiddler titled "undefined"
Fixes #2507

The problem stems from a JavaScript quirk: the fact that
`({“undefined":"Me"})[undefined]` returns “Me”. The quirk is that the
value `undefined` is coerced into the string “undefined” when used as
an index.

In this particular case, the code for `wiki.getTiddler()` was returning
the tiddler with the title `”undefined”` when called with the title set
to the value `undefined`. It happens that the pluginswitcher called
`wiki.getTiddler(undefined)`.
2016-07-22 11:31:02 +01:00
Myeongjin e6e346ea29 change string 'Close' to lowercase for dialog (#2366) 2016-04-14 23:03:14 +01:00
nome 811aa23010 Include tiddler line number in SyntaxError output
While JavaScript runtime errors include the line number within the

module tiddler where the error occured, syntax errors do not, leaving

the user guessing where the error is hiding. Attempt to remedy this, as

well as the various platforms permit.
2016-04-04 12:46:48 +01:00
Myeongjin c9b0e15201 add localisable strings for dialog 2016-03-28 16:24:55 +09:00
Jermolene b47f505588 Freeze the entire tiddler object
As seen in the first pass of #2247, it was previously inadvertently
possible for callers to modify the tiddler object itself by adding and
replacing properties.
2016-02-05 17:39:02 +00:00
Jermolene 8904a6dba6 First commit of Evernote migration plugin
Starts to address #2268
2016-02-04 10:13:08 +00:00
Jermolene ad1793c8f5 Minor tweaks to boot kernel for AWS
Part of the upcoming AWS integration work is a custom build of
TiddlyWiki that can run as an Amazon Lambda function. These tweaks
enable the new build to control the loading of SJCL, the package info,
and any preloaded tiddlers.
2015-12-19 18:52:25 +00:00
Myeongjin 2fee131aa4 add localisable strings for Internal JavaScript Error 2015-10-18 17:26:42 +09:00
Jermolene 99df9f46f7 Add support for tiddlers containing mp4 videos 2015-10-01 12:13:38 +01:00
Jermolene 803d70225a Allow tiddlywiki.files to load directories recursively 2015-09-15 13:35:54 +01:00
Jermolene ae80f9176d Typo from last commit 2015-08-31 16:25:03 +01:00
Jermolene 709126dd64 Don't queue change events for deleting non-existent tiddlers
Fixes #1919
2015-08-31 15:48:32 +01:00
Jermolene 9168480d18 Clear caches when changing plugins 2015-08-02 22:22:33 +01:00
Jermolene 73210a7b8c Refine the way that we support serialised external tiddler files
The old way was sufficiently backwards compatible that it was
impossible to use TiddlyWiki 5.1.9 to build the tw5.com edition.
2015-07-28 19:56:56 +01:00