Commit Graph

445 Commits

Author SHA1 Message Date
Jermolene 8de4583d6c Add first pass at XLSX Utilities plugin
Thanks to @stevesunypoly for help with preparing the demo spreadsheet
2016-10-23 22:49:59 +01:00
Jermolene cd5366087c Improve QR code plugin docs 2016-10-20 09:45:04 +01:00
Jermolene c415af13f1 bibtex plugin updates 2016-10-19 10:21:50 +01:00
Jermolene 7f11c151f0 First pass at bibtex importer 2016-10-18 18:00:01 +01:00
Jermolene 5ec7250621 QR code plugin clean ups 2016-10-18 17:59:52 +01:00
Jermolene 28a25be5f7 Marginally improved qrcode icon 2016-10-18 16:39:27 +01:00
Jermolene 8e02bde938 Refinements to 87fa7f972c 2016-10-18 16:39:18 +01:00
Jermolene 22c1b04ee7 Added first version of QR code generator plugin 2016-10-18 09:23:47 +01:00
Jermolene 1b41b44684 Improve support for bulk loading tiddlers under Node.js
Fixes #2610
2016-10-15 16:23:17 +01:00
Jermolene 4be5f0abe8 Switch highlight plugin under Node.js to use DOM rather than raw HTML
Hi @welford I wondered if you could kindly review this commit, since
you authored the original code? Before this commit, I was running into
a crash when running `prerelease-bld.sh` from
`build.jermolene.github.io`, caused by using raw HTML for the
highlighted block. Switching to the fake dom seems to fix things, but
I’d like a second pair of eyes.
2016-09-28 11:34:15 +01:00
Jermolene d86e4043c2 Some sample .ENEX files for testing 2016-09-26 12:32:57 +01:00
Jermolene f079b31334 Fix further issue with highlight.js brush handling 2016-08-18 10:32:21 +01:00
Jermolene ee9d19d299 Fix problem with highlight plugin language brushes
TiddlyWiki passes the MIME type of the tiddler to highlight.js as the
"language brush", but it turns out that highlight.js doesn't actually
understand MIME types. This commit introduces a configuration mapping
between common MIME types and highlight.js language brushes

Fixes #2535
2016-08-18 09:07:06 +01:00
Jermolene 08cfa88249 Fix problem with unsafe use of `String.prototype.replace()`
We were using `String.prototype.replace()` without addressing the
wrinkle that dollar signs in the replacement string have special
handling. This caused problems in situations where the replacement
string is derived from user input and contains dollar signs.

Fixes #2517
2016-08-06 14:45:33 +01:00
Jermolene 487d6642e3 Fix KaTeX rendering bug on Chrome
Fixes #2500
2016-07-21 08:48:13 +01:00
Jermolene 5cc09d9cd5 Fix some typos from #2504 2016-07-20 16:16:21 +01:00
Devin Weaver 64b7e66675 Prevent adding extra file extensions (#2504)
Fixes #2503

This bug was introduced in commit c4c7b18 where it would append
additional .tid extensions to a file every time the node server was
restarted.

Here we check the filepath does not have the extension already before
appending it.
2016-07-20 16:07:28 +01:00
Jermolene c4c7b1868c Ensure .tid extension when saving .tid files
Missed off of a4506231a7
2016-07-15 16:55:57 +01:00
Jermolene a4506231a7 Fix writing non-wikitext text tiddlers
The plan had been to switch template depending on the content type, but
we’d only implemented support for saving wikitext tiddlers. That meant
that creating a tiddler with any non-wikitext content type failed to
write the file correctly under Node.js.

Now we just always save in .tid file format.
2016-07-14 17:42:57 +01:00
Jermolene b849011d8f Move stacked view control panel into sidebar 2016-07-12 17:22:33 +01:00
Jermolene 14dc8accd6 Blog plugin: Transclude caption so that wikitext works 2016-07-12 13:16:30 +01:00
Devin Weaver bf74d13df5 Handle binary files better when saving on Node.JS (#2420)
* Save binary tiddlers with meta file

The filesystemadaptor plugin was a little simplistic in its
understanding of a binary file. It was using the typeInfo dictionary to
choose what tiddler types were binary (and hence needed a meta file when
saving).

I looked as if it was trying to be smart by looking for the hasMetaFile
*OR* had the encoding of base64. Unfortunately the typeInfo only defined
image/jpeg and so any other base64 encoded tiddler was assumed to be of
type text/vnd.tiddlywiki.

The net effect was only JPG images got a meta file and everything else
were saved as .tid files with base64 encoding. It all still worked but
made working with binary data in a Git repo a bit daunting.

There is enough information in the $tw.config.contentTypeInfo to
determine if a tiddler type is encoded with base64 or not. A better list
is available from boot/boot.js who registers all the types thorough the
registerFileType and marks then with base64 were appropriate.

This commit uses the typeInfo dictionary first for any filesystem
specific overrides, then the contentTypeInfo, and finally defaults to
the typeInfo["text/vnd.tiddlywiki"]. It also eliminates the now
unnecessary override for image/jpeg.

I think this might have been the original intent from commit 10b192e7.
From my limited testing all files described in boot/boot.js (lines
1832-1856) with an encoding of base64 now save as the original binary
and a meta file. Meaning that when you start the node server and then
drag-n-drop a binary file (i.e. image/png) it will PUT to the server
and then save it on the filesystem as-is allowing the file to be managed
as a binary file and not a text file. (Binary diffs are better and
GitHub supports them as well).

* Prevent duplicate file extensions

A side effects of using the $tw.config.contentFileInfo in the previous
commit is that it will always append a file extension to the tiddler
title when saving. In most cases this is the correct course of action.
However, sometimes that title is already a proper filename with an
extension (for example importing 'foobar.png' would save a file named
'foobar.png.png') which seemed silly.

This commit simply checks to make sure the title does not already end
with the file extension before appending it to the filename. A little
convenience really.

Since IE apparently doesn't have the String endsWith method I took the
liberty to add a helper method to $tw.utils trying to follow the other
polyfill patterns. I figured this was more generic and readable then
attempting to use a one-off solution inline. I got the polyfill code
from MDN.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith#Polyfill

Is strEndsWith the best method name?
2016-07-11 11:18:19 +01:00
Brent Maxwell 19e699d330 Added mobile-web-app-capable meta tag for Android Chrome (#2456)
* Added mobile-web-app-capable meta tag for Android Chrome

* Added "mobile-web-app-capable" meta tag to the rest of the templates.
2016-07-11 11:16:58 +01:00
Jermolene c3d18364c1 Don't use syncadaptors until they are ready
Fixes #2453
2016-07-05 11:29:59 +01:00
Myeongjin 74db143ee8 Split exporters from miscellaneous language tiddler (#2460) 2016-05-23 12:30:57 -06:00
Myeongjin 99c21232ee Fix referred name of localisable string for recursive transclusion error (#2458) 2016-05-22 15:33:02 -06:00
Myeongjin fb146bc4b8 Fix readme path of jszip (#2430) 2016-05-20 07:46:29 -06:00
Myeongjin 8afc1e9354 Add localisable strings (#2438)
* Add localisable string for recursive transclusion error

* Add localisable string for count

* Add localisable strings for syncer
2016-05-12 08:44:28 -06:00
Myeongjin 33a569f6ce Fix problem when single tiddler is outputed (#2433) 2016-05-11 11:26:13 -06:00
Jermolene c5ac10024b Text-slicer: Fix issue with missing destination title 2016-05-11 11:13:15 -06:00
Myeongjin 71284fbc6a Except specific prefixes from miscellaneous in translators plugin (#2432) 2016-05-10 12:07:13 -06:00
Jermolene 3a3754aebb Add rel="noopener noreferrer" to external links
Background:
https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerab
ility-ever-96e328301f4c#.hduwdbjlb
2016-05-05 11:49:40 +01:00
Myeongjin 71111550d6 Add localisable strings for vanilla (#2422)
* Add localisable strings for vanilla

* Remove system tiddler for theme tweaks from fr-FR edition
2016-05-05 10:11:06 +01:00
Jermolene 6dce8d9763 Remove final vestiges of undo/redo buttons 2016-05-01 13:54:16 +01:00
Jermolene 7d0ac4f86e Remove extraneous "mode" field from snippet tiddlers 2016-04-29 18:54:44 +01:00
nome 1ae428e323 Make tiddler file paths configurable (#2379)
When saving new tiddlers on node.js, allow the user to override the path of the
generated .tid file. This is done by creating a tiddler
$:/config/FileSystemPaths which contains one or more filter expressions, one
per line. These filters are applied in turn to the tiddler to be saved, and
the first output produced is taken as a logical path relative to the wiki's
tiddlers directory. Any occurences of "/" in the logical path are replaced with
the platform's path separator, the extension ".tid" is appended, illegal
characters are replaced by "_" and the path is disambiguated (if necessary) in
order to arrive at the final tiddler file path. If none of the filters matches,
or the configuration tiddler does not exist, fall back to the previous file
naming scheme (i.e. replacing "/" by "_").

This implies we will now, for tiddlers matching the user-specified filters,
create directory trees below the tiddlers directory. In order to avoid
cluttering it with empty directory trees when renaming or removing tiddlers, any
directories that become empty by deleting a tiddler file are removed
(recursively).

Benefits of this configuration option include the ability to organize git
repositories of TiddlyWikis running on node.js, ability to replace characters
that cause trouble with particular operating systems or workflows (e.g. '$' on
unix) and the ability to replicate tiddler "paths" in the filesystem (by
including a filter like "[!has[draft.of]]") without forcing such a (potentially
problematic) change on all users.
2016-04-25 08:36:32 +01:00
Jermolene 5b11399793 Update KaTeX plugin to v0.6.0 2016-04-22 15:50:23 +01:00
Jermolene 44e9634164 Update codemirror and markdown plugins from #2315 2016-04-22 08:41:31 +01:00
Jeremy Ruston 2adf09129d Introduce text editor toolbar (#2315)
Tada!
2016-04-22 08:36:29 +01:00
Jermolene 51db3e9e75 Text-slicer: style edit and view templates 2016-02-29 17:47:46 +00:00
Jermolene 6e4222e5e8 Text-slicer: tweak interactive document display
* Add icon for view template segment
* Muted background colour for view template segment
* Include links to parent tiddlers in the view template segment
* Fix logic for hiding/showing documents/headings (“open”/“close” were
transposed)
2016-02-28 20:18:01 +00:00
Jermolene e2d0b70fad Text-slicer: Add an advanced search filter for orphans
Locates tiddlers marked as document components that are not linked into
any active document
2016-02-28 19:56:24 +00:00
Jermolene 4041009d43 Text-slicer: standardise titles of state tiddlers
As noted by @Evolena, it’s cleaner to use the standard prefix for the
UI state tiddlers
2016-02-27 14:40:14 +00:00
Jermolene 7498989ebb Text-slicer: better support for specifying the output title
Can be specified directly, or taken from a field of the tiddler being
sliced, falling back to a default.
2016-02-27 12:25:48 +00:00
Jermolene 9abe85f60b Minor tweaks to #2275
* Cleaner handling of “updated” attribute
* Fixed handling of note attributes, which now get imported as custom
fields
* Clearer handling of ISO dates
2016-02-16 16:35:28 +00:00
Jeremy Ruston 7ea3ef7062 Merge pull request #2275 from Marxsal/patch-9
ENEX import - Apply modified (updated) dates
2016-02-16 16:24:45 +00:00
Jermolene f8552ac48d Readme for internals plugin 2016-02-15 22:43:15 +00:00
Jermolene e4fa7d579a Added raw html preview to internals plugin 2016-02-15 12:02:46 +00:00
Jermolene b0aed107d3 Fix internals plugin tiddler titles 2016-02-15 12:02:37 +00:00
Jermolene 3ae0f3666a Add Internals plugin
Adds a live preview of the raw JSON of the parse tree or widget tree
generated from a tiddler.
2016-02-15 11:38:55 +00:00