1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-30 12:00:28 +00:00
Commit Graph

527 Commits

Author SHA1 Message Date
Jermolene
0493208a23 mobiledragdrop: attempt to fix scrolling issues on ios
See https://github.com/timruffles/ios-html5-drag-drop-shim/issues/77
2017-03-23 21:16:01 +00:00
Jermolene
0efed8335d mobiledragdrop: Enable "holdToDrag"
Hopefully, this will make links clickable again, and reduce accidental
dragging while scrolling.
2017-03-23 21:15:33 +00:00
Jermolene
8744d77f88 Add mobiledragdrop shim plugin
This seems to work quite well for me - cc @xcazin
2017-03-23 17:03:35 +00:00
Jermolene
28b861451b Yet more tweaks to the highlight.js integration
Now we check that the selected language is supported before we invoke
highlight.js; left to its own devices, it crashes…
2017-03-02 09:17:48 +00:00
Jermolene
796e59e0dc Google Analytics plugin: Remove unneeded version number
By omitting the version number the core will apply the current core
version number to the plugin.
2017-02-28 10:23:02 +00:00
Jermolene
e30330d4be Introduce Twitter plugin for embedding tweets etc. 2017-02-28 10:23:02 +00:00
Jermolene
b90600580f Filesystemadaptor: Fix bug with JSON tiddlers
Fixes #2783
2017-02-24 15:36:22 +00:00
Jermolene
b1ecf81b0c Tentative improvements to highlight plugin problems
We now use highlight.js in raw HTML mode on the server, rather than
trying to use it with the fakedom. This causes problems with fakedoms
inability to get textContent for a node that has been created by
assigning innerHTML. So we extend the fakedom to allow the original
text content to be saved.

See #2778 for discussion.
2017-02-21 13:09:32 +00:00
Jermolene
467bf17dd8 GoogleAnalytics Plugin: Make sure we don't crash if the config tiddlers don't exist 2017-02-13 11:39:39 +00:00
Jermolene
95f565878e Savetrail: Fix conditionality of hook-based saving 2017-02-13 09:00:34 +00:00
Jermolene
d6f5b3cacd Filesystemadaptor: Fix problem with unknown file extensions 2017-02-12 15:35:04 +00:00
Jermolene
7b251df989 Filesystemadaptor: Fix problem with creation of unneeded directories
@pmario this fixes the problem reported in
https://github.com/Jermolene/TiddlyWiki5/commit/3708f6c8e4f4bf2ea1cb10b0
fa685888485f788a#commitcomment-20847981
2017-02-12 11:15:23 +00:00
Jermolene
b5482d8dba Remove extraneous console.log
I’ve leaving the one at line 91 because it might be useful for field
debugging…
2017-02-11 12:59:18 +00:00
Jermolene
3708f6c8e4 Major refactoring of filesystemadaptor
The code here had got a bit broken by some PRs that I should have
checked more carefully. I’ve done a major refactoring which will
hopefully make it easier to understand, and fixes a number of problems:

* Problem with eg .md tiddlers not being deleted correctly
* Problem with Windows path separators not being usable within
$:/config/FileSystemPaths on Windows
* Problem with filename clashes not being detected correctly when
saving to a different directory via $:/config/FileSystemPaths
* Enables slashes within tiddler titles to be mapped into folders
* Enables plain text files like .md and .css to be saved with .meta
files instead of as .tid files (see #2558)
* No longer replaces spaces with underscores

As this is such a major update, I’d be grateful if Node.js users could
give it a careful run through — in particular, you’ll need to try
creating new tiddlers of various types and ensure that the expected
files are created.
2017-02-11 12:56:42 +00:00
Jermolene
075d7d76df SaveTrail: Update readme 2017-02-10 07:33:38 +00:00
Jermolene
3d8249dc7a Savetrails: Download before and after files for destructive modifications 2017-02-09 15:45:39 +00:00
Jermolene
f4a015f120 Upgrade to latest version of xmldom 2017-02-07 18:20:30 +00:00
Jermolene
d9fd722e50 Text-slicer: Improve image support
Previously we only worked with base64 data URI images; now we work with
relative URLs as well.
2017-02-07 11:05:08 +00:00
Jermolene
a14b8a94df Fix JSON format for bc61f7eebf
Otherwise the JSON files cannot be imported back into TiddlyWiki
2017-02-04 18:08:47 +00:00
Jermolene
bc61f7eebf Introduce savetrail plugin
See the readme:

“This plugin causes TiddlyWiki to continuously save the contents of
each tiddler that is changed as a JSON file. Configured correctly, the
browser will download the files silently in the background, and they
can be used as a backup in case of accidental data loss.”

Inspired by @telmiger’s comment (3) here:
https://github.com/Jermolene/TiddlyWiki5/issues/2741#issuecomment-276128
871
2017-02-04 17:37:31 +00:00
Jermolene
6c65aa2a6d Make the syncer more configurable, including names for sync adaptors
@danielo515 you may want to add a name to your sync adaptor 😄
2017-02-04 17:25:30 +00:00
Sylvain Comte
c16f96626e Update to latest version of google analytics code (#2671)
* trying to implement new googleanalytics tracker

* trying to put new google tracker. Not working...

* more dev options for testing

still don"t understand wants goes wrong

* New version. Seems to work

* achieved update for new tests
brought back tiddlywiki.com settings value
created a settings tab to make it easier

* adding settings to plugin

add a settings tab to plugin to make it easier to use and see which GA account is in use

* fixes bug with GA_ACCOUNT and GA_DOMAIN tiddlers containing newlines at their end, preventing plugins to work

* soft rebase on jermolene's master

* revert to oldest version of GA_account and GA_domain tiddlers - had been overwritten by ones with a new line at the end

* Integrates some @tobibeer comments

* googleanalytics.js : removed "rebranding", var declaration and console log. Did not manage to get a non-minified version of Google script. But as far as I can see, jermolene's original plugin did same way
* plugin.info : placed "readme" first
* readme : back to previous "legacy" version. No more mention to temporary fork. Added mention and link to google official code.

* signed CLA
2017-01-03 15:43:05 +00:00
Jermolene
a1a4bf0f9d Refactoring the slicer engine for easier reuse 2016-12-22 17:46:42 +00:00
Jermolene
daad0ec142 xlsx-utils: Automatically trim cell values 2016-12-21 12:09:08 +00:00
Jermolene
424b8a1f68 Move QR code view toolbar button 2016-12-17 11:44:24 +00:00
Jermolene
b4dc730575 Fix xlsx-utils startup module name
We were using the same name as one of the core startup modules.
2016-12-15 17:13:32 +00:00
Jermolene
903cdc09cc Improve checking for missing titles 2016-11-14 15:37:55 +00:00
Jermolene
a485eb8588 Two improvements to xlsx-utils plugin
Add support for skipping an entire tiddler if a particular column is
blank

Add support for reading a row by column, making each of the columns
into a fieldname.

Also significantly refactored the code to break up the main, monolithic
function.
2016-11-14 15:23:15 +00:00
Jermolene
fc483abfc8 xlsx-utils control panel: put new entities at the top of their respective lists 2016-11-05 08:35:56 +00:00
Jermolene
cedb953f83 Missed off previous commit (54d0cb2021) 2016-10-23 23:27:35 +01:00
Jermolene
54d0cb2021 Fix background colour of import specification selector 2016-10-23 22:59:58 +01:00
Jermolene
5a361bdadc Fix content type for JSZip plugin license file 2016-10-23 22:50:14 +01:00
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
Marxsal
eabf187a7f Update modified (updated) dates
Without modified dates, new imports do not appear in recent file list. The equivalent of modified dates in ENEX is the 'updated' tag, with a date format similar to that of TW with the exception that the date format consists of a date stamp, a letter T, and a time stamp followed by Z for UTC presumably. There is no millisecond indicator. Not all ENEX notes have an update tag. The solution here is to apply creation date by default and then apply the update date if it is available.  Dates are converted by stripping out Z and T and appending '000'.
2016-02-07 10:59:57 -08:00
Jermolene
5238b4d503 Evernote plugin: fix crash with missing fields 2016-02-05 23:05:24 +00:00
Jermolene
5b925ed868 Further tweaks to #2272
@sukima the main issue with the previous code was that it incorrectly
used comma to delimit tags. We actually use spaces, and double square
brackets to delimit tags containing spaces. Better is to leave the tags
field as an array; the core will serialise it correctly as required.

I also made some minor consistency tweaks.
2016-02-05 19:48:37 +00:00
Jermolene
6aac2b00c9 Correct typo in #2272 2016-02-05 19:03:58 +00:00
Jeremy Ruston
d1d41fb9fc Merge pull request #2272 from sukima/feature/issue-2268-evernote-importer
Add some features to the EverNote import plugin
2016-02-05 18:56:38 +00:00
Jermolene
46800d790a Text-slicer: Add list-children filter operator
Again, I needed this for the day job. @felixhayashi I think you
submitted a pull request for something similar, would this version meet
your needs?
2016-02-05 18:46:01 +00:00
Devin Weaver
4525a3d631 Add tags support to evernote plugin
Relates to Issue #2268

I tried to map over the list of tags but NodeLists are not arrays and so
need to be converted. This looks ugly and probably should be abstracted
to a function. Come to think of it should we have a `$tw.utils.map()`
function?
2016-02-04 19:24:46 -05:00
Devin Weaver
4b70257aca Add evernote's additional resources as tiddlers
Relates to Issue #2268

Based in the [example XML][1] attachments are listed in the <resources>
node. Since in TiddlyWiki these would be media tiddlers I add then one
by one as separate tiddlers.

There are some things that still need to happen. There should be a mime
type check so we don't attempt to import media tha TiddlyWiki doesn't
support. Also the example suggests the data is base64 encoded so I
blindly use that for the text attribute. Should there be a
`data:mediatyp;base64,…` prefix?

[1]: https://gist.github.com/evernotegists/6116886
2016-02-04 18:37:45 -05:00
Devin Weaver
1d35087f29 Add additional fields support for evernote plugin
Relates to Issue #2268

Add the additional field defined in the XML as properties to the result.
This also appears to capture the 'author' field.
2016-02-04 18:31:24 -05:00
Jermolene
8904a6dba6 First commit of Evernote migration plugin
Starts to address #2268
2016-02-04 10:13:08 +00:00
Jermolene
1335dff450 Text-slicer: Checkbox for hiding document metadata 2016-02-03 12:48:15 +00:00
Jermolene
3e78f5cffd Text-slicer: Fix problem with static template for list items
We were rendering the children of the list item outside of the
generated LI tag.
2016-02-02 17:40:29 +00:00
Jermolene
c98ef97d23 Text-slicer: Use xmldom plugin so we can slice under Node.js 2016-02-01 21:34:28 +00:00
Jermolene
68b54a6e6f Add xmldom parser
Integrating this module allows us to do HTML/XML parsing under Node.js
(there is no built-in support for Node.js; we can already do HTML/XML
parsing in the browser). The implementation chosen is pure JavaScript,
and will work in all configurations of TiddlyWiki.
2016-02-01 21:28:52 +00:00
Jermolene
176d2ccd76 Text-slicer: Add support for notes within documents 2016-02-01 21:26:11 +00:00
Jermolene
b8aa60cdab Text-slicer: Fix bug with nodes without a classname 2016-02-01 21:22:55 +00:00
Jermolene
3a10bfe0de Text-slicer: copy document fields from source tiddler
User-defined fields of the source tiddler are copied across to the
document tiddler when it is sliced.
2016-02-01 20:16:45 +00:00
buggyj
74e8afdcdd fix for #2189 2016-01-07 22:11:26 +00:00