diff options
Diffstat (limited to 'doc/md/guides')
-rw-r--r-- | doc/md/guides/backup-restore-import-export.md | 64 | ||||
-rw-r--r-- | doc/md/guides/various-hacks.md | 33 |
2 files changed, 97 insertions, 0 deletions
diff --git a/doc/md/guides/backup-restore-import-export.md b/doc/md/guides/backup-restore-import-export.md new file mode 100644 index 00000000..bb790074 --- /dev/null +++ b/doc/md/guides/backup-restore-import-export.md | |||
@@ -0,0 +1,64 @@ | |||
1 | ## Backup and restore the datastore file | ||
2 | |||
3 | Backup the file `data/datastore.php` (by FTP or SSH). Restore by putting the file back in place. | ||
4 | |||
5 | Example command: | ||
6 | ```bash | ||
7 | rsync -avzP my.server.com:/var/www/shaarli/data/datastore.php datastore-$(date +%Y-%m-%d_%H%M).php | ||
8 | ``` | ||
9 | |||
10 | ## Export links as... | ||
11 | |||
12 | To export links as an HTML file, under _Tools > Export_, choose: | ||
13 | |||
14 | - _Export all_ to export both public and private links | ||
15 | - _Export public_ to export public links only | ||
16 | - _Export private_ to export private links only | ||
17 | |||
18 | Restore by using the `Import` feature. | ||
19 | |||
20 | - This can be done using the [shaarchiver](https://github.com/nodiscc/shaarchiver) tool. | ||
21 | |||
22 | Example command: | ||
23 | ```bash | ||
24 | ./export-bookmarks.py --url=https://my.server.com/shaarli --username=myusername --password=mysupersecretpassword --download-dir=./ --type=all | ||
25 | ``` | ||
26 | |||
27 | ## Import links from... | ||
28 | |||
29 | ### Diigo | ||
30 | |||
31 | If you export your bookmark from Diigo, make sure you use the Delicious export, not the Netscape export. (Their Netscape export is broken, and they don't seem to be interested in fixing it.) | ||
32 | |||
33 | ### Mister Wong | ||
34 | |||
35 | See [this issue](https://github.com/sebsauvage/Shaarli/issues/146) for import tweaks. | ||
36 | |||
37 | ### SemanticScuttle | ||
38 | |||
39 | To correctly import the tags from a [SemanticScuttle](http://semanticscuttle.sourceforge.net/) HTML export, edit the HTML file before importing and replace all occurences of `tags=` (lowercase) to `TAGS=` (uppercase). | ||
40 | |||
41 | ### Scuttle | ||
42 | |||
43 | Shaarli cannot import data directly from [Scuttle](https://github.com/scronide/scuttle). | ||
44 | |||
45 | However, you can use the third-party [scuttle-to-shaarli](https://github.com/q2apro/scuttle-to-shaarli) | ||
46 | tool to export the Scuttle database to the Netscape HTML format compatible with the Shaarli importer. | ||
47 | |||
48 | ### Refind | ||
49 | |||
50 | You can use the third-party tool [Derefind](https://github.com/ShawnPConroy/Derefind) to convert refind.com bookmark exports to a format that can be imported into Shaarli. | ||
51 | |||
52 | ## Import Shaarli links to Firefox | ||
53 | |||
54 | - Export your Shaarli links as described above. | ||
55 | - For compatibility reasons, check `Prepend note permalinks with this Shaarli instance's URL (useful to import bookmarks in a web browser)` | ||
56 | - In Firefox, open the bookmark manager (not the sidebar! `Bookmarks menu > Show all bookmarks` or `Ctrl+Shift+B`) | ||
57 | - Select `Import and Backup > Import bookmarks in HTML format` | ||
58 | |||
59 | Your bookmarks will be imported in Firefox, ready to use, with tags and descriptions retained. "Self" (notes) shaares will still point to the Shaarli instance you exported them from, but the note text can be viewed directly in the bookmark properties inside your browser. Depending on the number of bookmarks, the import can take some time. | ||
60 | |||
61 | You may be interested in these Firefox addons to manage links imported from Shaarli | ||
62 | |||
63 | - [Bookmark Deduplicator](https://addons.mozilla.org/en-US/firefox/addon/bookmark-deduplicator/) - provides an easy way to deduplicate your bookmarks | ||
64 | - [TagSieve](https://addons.mozilla.org/en-US/firefox/addon/tagsieve/) - browse your bookmarks by their tags | ||
diff --git a/doc/md/guides/various-hacks.md b/doc/md/guides/various-hacks.md new file mode 100644 index 00000000..0074ae9f --- /dev/null +++ b/doc/md/guides/various-hacks.md | |||
@@ -0,0 +1,33 @@ | |||
1 | ### Decode datastore content | ||
2 | |||
3 | To display the array representing the data saved in `data/datastore.php`, use the following snippet: | ||
4 | |||
5 | ```php | ||
6 | $data = "tZNdb9MwFIb... <Commented content inside datastore.php>"; | ||
7 | $out = unserialize(gzinflate(base64_decode($data))); | ||
8 | echo "<pre>"; // Pretty printing is love, pretty printing is life | ||
9 | print_r($out); | ||
10 | echo "</pre>"; | ||
11 | exit; | ||
12 | ``` | ||
13 | This will output the internal representation of the datastore, "unobfuscated" (if this can really be considered obfuscation). | ||
14 | |||
15 | Alternatively, you can transform to JSON format (and pretty-print if you have `jq` installed): | ||
16 | ``` | ||
17 | php -r 'print(json_encode(unserialize(gzinflate(base64_decode(preg_replace("!.*/\* (.+) \*/.*!", "$1", file_get_contents("data/datastore.php")))))));' | jq . | ||
18 | ``` | ||
19 | |||
20 | ### Changing the timestamp for a shaare | ||
21 | |||
22 | - Look for `<input type="hidden" name="lf_linkdate" value="{$link.linkdate}">` in `tpl/editlink.tpl` (line 14) | ||
23 | - Replace `type="hidden"` with `type="text"` from this line | ||
24 | - A new date/time field becomes available in the edit/new link dialog. | ||
25 | - You can set the timestamp manually by entering it in the format `YYYMMDD_HHMMS`. | ||
26 | |||
27 | |||
28 | ### See also | ||
29 | |||
30 | - [Add a new custom field to shaares (example patch)](https://gist.github.com/nodiscc/8b0194921f059d7b9ad89a581ecd482c) | ||
31 | - [Download CSS styles for shaarlis listed in an opml file](https://gist.github.com/nodiscc/dede231c92cab22c3ad2cc24d5035012) | ||
32 | - [Copy an existing Shaarli installation over SSH, and serve it locally](https://gist.github.com/nodiscc/ed161c66e5b028b5299b0a3733d01c77) | ||
33 | - [Create multiple Shaarli instances, generate an HTML index of them](https://gist.github.com/nodiscc/52e711cda3bc47717c16065231cf6b20) | ||