1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-27 12:07:19 +00:00
Commit Graph

632 Commits

Author SHA1 Message Date
BurningTreeC
462d0a9402 Dynaview: unset functionality when scrolling out (#3212)
* try adding data-dynaview-unset-tiddler

I obviously lied

* dynaview unset functionality when scrolling out of view

* additional undefined check

* Update docs.tid

* update true and false to "true" and "false"

* add example of unset functionality

* Update reveal-on-scroll.tid
2018-04-12 13:23:50 +01:00
BurningTreeC
3d64d7d126 CodeMirror 5.36.0 modularized (#3184)
* v5.35.1

* codemirror 5.35.1

* v5.35.1

* v5.35.1

* v5.35.1

* v5.35.1

* v5.35.1

* adding search&replace and autocomplete

* update version number

* add jump-to-line.js required for search&replace

* adding show-hint.js required by autocomplete

* adding basic autocomplete for any word

* adding autocomplete css

* adding new files to tiddlywiki.files

* forgot adding search.js

* minify 'em all

* Delete vim.js

* Delete sublime.js

* Delete emacs.js

* Delete anyword-hint.js

* Delete show-hint.css

* Delete show-hint.js

* Update config.tid

* Update tiddlywiki.files

* Update tiddlywiki.files

* Update config.tid

* Update config.tid

* Update config.tid

* Delete dialog.js

* Delete dialog.css

* Delete jump-to-line.js

* Delete search.js

* Delete searchcursor.js

* Update tiddlywiki.files

* Update tiddlywiki.files

* Update tiddlywiki.files

* add search-and-replace cm-addon as plugin

* add autocomplete cm-addon as plugin

* add fullscreen-editing cm-addon as plugin

* add keymaps as plugins + cleanup

* add highlighting modes as plugins

* small update on usage.tid

* moved multiplex.js to htmlembedded mode - the only one using it

* config/CodeMirror update

* how to disable line numbers

* how to change CM theme

* add closebrackets and closetags addons

* packaging a base-addon

* move meta.js from codemirror to base addon

* inputStyle: textarea -> prevents contenteditable on mobile browsers, keeps focus when clicking toolbar buttons, prevents import on paste

* default config no line numbers

* temporary add panel plugin for demo

* put base-plugin back to codemirror editor

* searchcursor to searchnreplace plugin

* bad copypasta mistake

* another typo

* stripped down meta.js + moved matchbrackets to closebrackets plugin

* remove panel

* change module-type to codemirro and make init "require" dynamic.

* make config handling dynamic with sensible defaults

* make cm settings translateable

* delete multids. they will be replaced

* add auto-config tiddlers

* dynamically create config structure for CM

* fix filename

* change typo

* kitchensink config, plus change plugin description for better sorting.

* add matchBrackets config tiddler

* RIP codeblock

* removed install instructions from readme - codemirror usage tiddler still todo

* control panel settings for cm base

* add setting for auto-close tags

* adding fontfamily settings and theme settings

* change tags for settings from $:/tags/ControlPanel/Settings to $:/tags/ControlPanel/Settings/CodeMirror

* more usage info

* more usage info

* update to v5.36.0

* ugly hack enables highlighting and tag-closing for vnd.tiddlywiki and x-tiddlywiki

* disable auto-indent for vnd.tiddlywiki & x-tiddlywiki and add some hidden settings

* remove engine.js hack

* meta.js -> tw-meta.js

* codemirror settings tab

* rename tiddler to tw-meta.js

* make editor font monospace or sans-serif - dropdown select

* make editor font monospace or sans-serif - dropdown select

* now using correct tiddler for editor font setting

* better usage doc

* make markdown-mode require tw-meta

* add more themes info

* add active-line highlighting option

* mini usage change

* add integer type to engine.js config-getter

* blink rate config type string

* correct engine.js

* license for base-plugin, usage link in settings tab

* codemirrordemo hellothere update

* codemirrordemo hellothere update

* Update license.tid

* codemirror demo sidebarlayout, license

* license headers to addon files

* license formatting & forgot what year we have

* license formatting & forgot what year we have & codemirror demo sitetitle sitesubtitle

* more informations 'try-this-style' for codemirrordemo hellothere

* codemirror demo sitetitle & cm fontfamily

* hellothere

* font-family setting must be editor-font-family, not code-font-family

* add basic keyboard shortcuts table

* shortcuts change to not interfere with toolbar shortcuts - needs testing - vim and emacs todo

* formatting

* controlpanel change keymap - default keymap is default

* ctrl-T becomes Alt-T in default keymap

* adjustments for codemirror demo

* demo: hellothere - hint for sidebar keymap cheatsheet

* toolbar focus fix + remove console log

* engine.js cleanup

* formatting

* reverting focus fix

* indenting engine.js

* hoping that indenting gets better
2018-04-06 17:34:50 +01:00
Jermolene
67bab83902 DynaView: Add "data-dynaview-has-triggered" attribute 2018-04-06 14:52:27 +01:00
Jermolene
bafe447e1c DynaView: force DIVs for transclude-when-visible macro 2018-04-06 08:19:03 +01:00
Mete Balci
45bf58b920 fix for #3176 (#3177) 2018-03-19 15:56:28 +00:00
Jermolene
de6e0d1c1e Dynaview: Add support for updating the address bar when scrolling
We add an attribute to tiddler frames in the DOM giving the title of the corresponding tiddler
2018-03-13 14:07:29 +00:00
Jermolene
dbfe28094c DynaView plugin: Add font "optisizer"
A mechanism to choose the optimum font size of a passage of text to yield a particular numbr of characters per line.

@BurningTreeC I've made some minor consistency tweaks and cleanups to the viewport stuff, too.
2018-03-10 10:33:34 +00:00
BurningTreeC
cc39a86430 KaTeX - EditorToolbar stamp button for wysiwyg katex snippet input (#3131)
* add KaTeX logo

* add katex stamp button

* add katex stamp dropdown

* add a snippet so that the dropdown isn't empty

* correct dropdown title

* change tag

* update snippets tag
2018-03-05 11:05:44 +00:00
Jermolene
24c6eece1b Update to KaTeX v0.9.0 2018-02-20 21:24:11 +00:00
Jermolene
0b9a3923bf AWS Plugin: Less logging 2018-02-19 09:11:48 +00:00
BurningTreeC
4435afc726 Dynaview: Update viewport state refreshing (#3128)
To prevent repeated updates
2018-02-18 15:39:10 +00:00
BurningTreeC
042e9185a9 DynaView plugin: make viewport dimensions available in state tiddlers (#3126)
* add export-viewport-dimensions functionality

* add config.tid

* add config to plugin.info list

* typo

* update docs.tid

* change default tiddler to $:/state/viewport

* change default to $:/state/viewport

* Update dynaview.js

* changes as discussed - lingo missing
2018-02-18 12:04:35 +00:00
BurningTreeC
477cb0c47e Add HammerJS library Plugin (#3125)
* hammerjs library plugin - add readme.tid

* hammerjs library - add plugin.info

* hammerjs library plugin - add tiddlywiki.files

* hammerjs library plugin - add hammer.min.js v2.0.8 latest master

* hammerjs library plugin - add LICENSE

* change to latest hammer.js from hammerjs.github.io

as I've tested, the version from master (dated 2016-09-30) doesn't work like the latest version available from the website (https://hammerjs.github.io), dated 2016-04-23
2018-02-17 18:48:53 +00:00
Jermolene
5754216479 KaTeX: Fix problem running under TiddlyDesktop as a wikifolder
Fixes https://github.com/Jermolene/TiddlyDesktop/issues/124 (the problem over there is that TiddlyWiki running as a wiki folder in TiddlyDesktop reports itself as running both under Node and the browser, and the previous test was wrongly choosing the fakedom)
2018-02-07 14:51:34 +00:00
Jermolene
7534a97518 Text-slicer: Add support for hyperlinks 2018-01-30 11:06:50 +00:00
Jermolene
ab2ac78620 Text-slicer: Tweaks to linear slice rules 2018-01-24 20:57:39 +00:00
Jermolene
55d7f43f0c Text-slicer: Add support for discarding the content of an element 2018-01-24 12:01:56 +00:00
Jermolene
3e81921eea Text-slicer: Fix typo
Thanks @Evolena
2018-01-24 12:01:24 +00:00
Jermolene
eaf0869c94 Update to KaTeX v0.9.0-beta 2018-01-16 16:06:29 +00:00
Jermolene
a88e28cb5a KaTeX Plugin: Update to v0.9.0-alpha2 2018-01-11 21:42:56 +00:00
Jermolene
ad116be7f6 JSZip plugin: Update to v2.6.1
We can't update to v3.x.x because the API is not backwards compatible
2018-01-11 21:31:58 +00:00
Jermolene
293c2fce07 Text-Slicer: Fix issue with single quotes in the base tiddler title 2018-01-11 13:47:21 +00:00
Jermolene
92870c0b2d Text-slicer: Retain text outside paragraphs 2018-01-11 12:43:24 +00:00
Jermolene
5fee52beac Introduce new dynaview plugin 2018-01-05 09:18:19 +00:00
Jermolene
413894e3e7 Text-slicer: Add new slicer rules for linear chunking
In this configuration there is no weaving together by hierarchical heading; the document is just a linear list of paragraphs.
2018-01-04 16:06:08 +00:00
Jermolene
50950d8143 Text-slicer: Switch to loose mode
So that non-XML entities work.
2018-01-04 16:02:58 +00:00
Jermolene
a7a3748bca Text-slicer: Add primitive support for escaping wikitext 2018-01-04 16:02:18 +00:00
BurningTreeC
4bc592c9e8 preventDefault drag behaviour inside textarea (#3070)
fixes errors when trying to drag inside textarea while an eventhandler is listening for drag events
2017-12-22 09:40:23 +00:00
Jermolene
47d065b239 Text-slicer: Fix title of document tiddler
For compatibility with the previous version, we ensure that the document tiddler ends up with the base tiddler title.
2017-12-21 22:15:00 +00:00
Jermolene
642a6505a1 Text-slicer: Fix image URLs 2017-12-21 22:14:08 +00:00
Jermolene
e344c38349 Major updates to text-slicer plugin
* In the interests of performance and expressiveness, switched to using a Sax parser instead of a DOM implementation.
* Use extensible declarative rules to control the slicing process
* Added new optional set of rules for slicing by heading, where the paragraphs underneath a heading are packed into the same tiddler as the heading
* Added a modal dialogue for specifying parameters when slicing in the browser
2017-12-14 14:16:54 +00:00
Jermolene
920d225f37 Improve XLSX docs 2017-12-12 13:58:26 +00:00
Jermolene
c507d4e2dd Use https for YouTube 2017-11-18 19:53:52 +00:00
Jermolene
29364cbd08 Change http://*.tiddlywiki.com/* to https:// 2017-11-11 11:56:20 +00:00
Jermolene
e646d207c3 Add "external-attachments" plugin
This plugin provides support for importing tiddlers as external attachments -- it only works on platforms such as TiddlyDesktop that provide the required "path" property with imported files.

Using the plugin means that instead of importing binary files as self-contained tiddlers, they are imported as "skinny" tiddlers that reference the original file via the ''_canonical_uri'' field. This reduces the size of the wiki and thus improves performance. However, it does mean that the wiki is no longer fully self-contained
2017-10-11 17:54:03 +01:00
Jermolene
73953080e3 SaveTrailPlugin: Fix syncer UI interactions
The syncer used by the savetrail plugin shouldn't perform any UI interactions
2017-09-20 16:28:11 +01:00
Jermolene
7a714da9cb AWS Plugin: Fix crash when attempting to save a missing tiddler 2017-09-15 14:15:56 +01:00
Jermolene
24c325611b AWS Plugin: More flexible specification of the output type 2017-09-12 16:04:35 +01:00
Jermolene
5a5d648127 AWS Plugin: improved error handling 2017-09-07 10:55:42 +01:00
Jermolene
51b1ead5c9 Add more colour to command line output 2017-09-04 14:55:12 +01:00
Jermolene
08ae7321c1 AWS Plugin: Lambda should return list of files written to S3 2017-08-29 21:41:50 +01:00
Jermolene
2381fb5312 AWS Plugin: improve s3-savetiddlers and s3-rendertiddlers
Instead of the simple ‘prefix’ and ‘extension’ parameters, we now
accept a filename filter. As well as allowing prefixes and suffixes to
be added via filter operators, we can also transform the title
2017-08-28 10:31:27 +01:00
Jermolene
94f9929c80 AWS Plugin: Add savetype for s3-savetiddler(s) command 2017-08-23 10:31:28 +01:00
Jermolene
2ebf4285e8 AWS Plugin: Add s3-savetiddlers command 2017-08-16 18:10:52 +01:00
Jermolene
509a474f4a AWS Plugin: Add s3-load and s3-rendertiddlers commands
With these commands we can do static rendering straight to an S3 bucket
2017-08-15 15:48:12 +01:00
Jermolene
9ac784a468 Update text-slicer icon and wording 2017-07-18 15:44:27 +01:00
Jermolene
f59809e9a4 Use "whitespace trim" to improve spacing and legibility of view toolbar buttons
Previously, the standard toolbar buttons exhibited uneven spacing due
to the vestigial whitespace.
2017-07-12 16:47:52 +01:00
Jermolene
a346888213 Add first release of AWS plugin
Tools for working with Amazon Web Services:

* Templates for saving a TiddlyWiki as a single JavaScript file in a
ZIP file that can be executed as an AWS Lambda function. In this form,
TiddlyWiki is a self contained single file containing both code and
data, just like the standalone HTML file configuration
* Commands that can be used to interact with AWS services, under both
the Node.js and Lambda configurations of TiddlyWiki
2017-07-03 20:34:58 +01:00
Jermolene
534f5e7c13 Revert "Add text/vnd.tiddlywiki to system tiddlers within plugins that should be wikified (c.f. #2883)"
This reverts commit 7436fc7374.
2017-06-24 17:48:32 +01:00
Jermolene
7436fc7374 Add text/vnd.tiddlywiki to system tiddlers within plugins that should be wikified (c.f. #2883) 2017-06-09 15:52:19 +01:00
Jermolene
c0f7f18f0a Update KaTeX to v0.7.1 2017-04-26 14:34:17 +01:00
Jermolene
aa2f240936 Update to latest version of ios-drag-drop.js 2017-04-21 08:22:58 +01:00
Jermolene
6c4c1a984b Make help panel scrollbars be optional 2017-04-19 13:26:22 +01:00
Jermolene
cd16573f20 Rephrase the Google Analytics plugin pages 2017-04-18 18:48:17 +01:00
Jermolene
aa1a8cf2eb Docs typo 2017-03-29 10:19:49 +01:00
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