1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-07-02 10:13:16 +00:00
Commit Graph

36 Commits

Author SHA1 Message Date
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
dc020276b0 Update filesystemadaptor to use a metafile for all binary files
Previously, newly created image files would end up being saved as a
base64-encoded .tid file. Now they are saved as an ordinary binary file
with an accompanying .meta file for the metadata.
2015-09-17 19:43:10 +01:00
Jermolene
f2a7f00870 Improve plugin readmes
Now every plugin has a short, introductory readme tiddler that is shown
in the online plugin library.
2015-03-19 10:53:45 +00:00
Astrid Elocson
28f78730ba Consistent plugin descriptions 2015-02-17 10:28:54 +00:00
Jim Lehmer
c296f14210 Handle case-insensitive file systems. 2015-01-03 09:33:22 -06:00
Jim Lehmer
809a59920a Fix bug where a .tid extension was being added twice if tiddler name longer than 200 characters. 2015-01-02 11:25:54 -06:00
Evgeniy Gryaznov
25bcc13fa8 Transliterating russian filenames 2014-12-23 11:48:43 +06:00
Jermolene
d2c4920ba4 Refine node vs. browser behaviour
Now we’re using TiddlyWiki as the core of TiddlyDesktop we need more
granular control of the platform specific code.
2014-12-18 19:52:15 +00:00
Jermolene
459133cc57 Remove unused file watching code from filesystemadaptor
This code was contributed by @natecain and added in #176. It was almost
immediately disabled because of problems in the field.

I’m removing the code now to simplify the adaptor in advance of some
planned refactoring.
2014-09-28 23:46:55 +01:00
Jermolene
9c74afdd1a JSHint obeisance for plugins folder
Also add a jshintignore file to skip the various imported modules
2014-08-30 21:32:55 +01:00
Jermolene
27f1f82a70 Rejigging syncer structuring
The goal is to separate out the saver handling from the syncadaptor
handling; it will take a few steps to get there
2014-08-14 11:12:25 +01:00
Jermolene
93c29bd388 Fix missing require in filesystem adator 2014-04-03 15:40:30 +01:00
Jermolene
6307293469 Fix some Node.js cross-platform compatibility issues
Thanks to http://shapeshed.com/writing-cross-platform-node/

Surprising that file path format is pretty much the only issue.
2014-03-31 17:17:36 +01:00
Jermolene
70a120d4a6 Expand the logging mechanism to support alerts overlaid on the main screen
Now we get decent visual indication of sync errors, for instance. Still
work to do to coalesce alerts so that the screen doesn’t fill up with
them after an interval. And probably we should add a button to clear
all alerts.
2014-02-14 07:53:41 +00:00
Jermolene
a01bbd4b9c Add automatic saving and warning on exit with unsaved changes
We re-use some of the existing syncer mechanism. It was already keeping
track of changes to tiddlers in the store when working with a tiddler
syncadaptor. Now it also tracks changes when there is no syncadaptor,
allowing us to provide a warning if there are unsaved changes.
2014-02-06 21:36:30 +00:00
Jermolene
3f9561dd95 Better logging 2014-01-26 18:53:31 +00:00
Jermolene
cc39686693 Create tiddlers subfolder in wiki folder if it is not present 2013-12-18 21:11:52 +00:00
Jermolene
67072371a0 Get rid of extraneous logging on filesystemadaptor 2013-12-11 13:13:48 +00:00
Jermolene
062822d45c Fix file system behaviour for loading new tiddlers
We don’t need to load tiddlers because they will all have been loaded
during bootup, or been created through the file system adaptor.
2013-12-11 11:45:15 +00:00
Jeremy Ruston
cc0011abd3 Get rid of the "new_" prefix we had on some methods
There's still the "old_" prefix to get rid of too.
2013-11-08 08:51:14 +00:00
Jeremy Ruston
d2b2ae5262 Fix filesystem adaptor to use new widget mechanism 2013-10-29 14:53:23 +00:00
Jeremy Ruston
c4d5b803ef Temporarily disable the filewatcher functionality
It's currently broken, awaiting a fix from @natecain
2013-10-29 14:47:18 +00:00
natecain
2c02b6d6bc Remove watcher while saving, and use AddTiddler instead of modifying tiddlers directly 2013-10-11 18:43:51 -04:00
natecain
4849bd43c8 More graceful handling of tiddler delete in filesystemadaptor watch code 2013-10-11 17:54:47 -04:00
natecain
ee236060c7 Rudimentary fs.watch usage in filesystemadaptor
Will only watch for changes on wiki files loaded during startup or created by runtime
    (Does not yet track renames/deletes)
    (Will not notice new files)
  May become confused by directory structure changes on some platforms
    (see node docs on fs.watch for caveats!)
2013-10-11 17:10:10 -04:00
Jeremy Ruston
20f06e8eec Ensure that the core plugins inherit their version number from the main package.info 2013-08-26 13:28:23 +01:00
Jeremy Ruston
17cfd57390 Start making themes switchable
Separately switch in ordinary plugins and themes. Change the convention
for plugin information to use dashes rather than camel case.
2013-04-28 22:52:26 +01:00
Jeremy Ruston
e449c0bb7d Added support for deleting tiddlers during file synchronisation 2013-03-25 20:16:12 +00:00
Jeremy Ruston
1b4f292351 Grammar 2013-03-25 20:04:52 +00:00
Jeremy Ruston
631dd1cc5f Added ability to disable file saving for specific tiddlers 2013-03-25 19:50:33 +00:00
Jeremy Ruston
d75db05ea6 Cleaning up the previous commit 2013-03-25 12:12:53 +00:00
Jeremy Ruston
10b192e743 Add support for saving binary files 2013-03-25 12:11:34 +00:00
Jeremy Ruston
19b62c30d8 Parameterise the template for saving tiddlers 2013-03-25 11:09:34 +00:00
Jeremy Ruston
77a6b72245 Enable server side file synchronisation in the clientserver edition
Use with great caution for the moment
2013-03-25 10:43:46 +00:00
Jeremy Ruston
70def07d63 Clearer logging preparatory to implementing file synchronisation 2013-03-24 12:53:09 +00:00
Jeremy Ruston
7df3d48451 Add a file system sync adaptor for the server
It's going to save tiddler changes to the file system
2013-03-24 12:27:46 +00:00