adibaba / delicious-export
del.icio.us 导出文件的解析器
v1.2.2
2017-08-27 15:21 UTC
This package is not auto-updated.
Last update: 2024-09-29 04:20:18 UTC
README
社交书签服务 Delicious (del.icio.us) 已被 Pinboard 收购(参见 博客文章),目前处于只读模式。您可以导出您的 delicious 书签并保存为 HTML 文件。此脚本解析这些文件。
功能
- 备份私有书签(或排除它们)
- 创建结构化的 HTML 文件
- 使用 PHP 生成 JSON 文件
- 拆分意外用空格分开的标签
- 包括或排除书签的备注/描述
- 按大小或名称排序标签
- 包括不带标签的书签
- 指定日期/时间的格式
- 调整模板或扩展 PHP 类(无私有方法)
示例
准备
- 安装 PHP。
- 在 GitHub 上下载最新的 DeliciousExport 发布版
解压缩 ZIP 文件。 - 在 del.icio.us/export 下载您的书签。
将下载的 delicious.html 复制到 src 文件夹中。 - 在 src 文件夹中创建一个包含以下示例代码的 run.php 文件并保存。
打开控制台(Windows:按 [Win] + [R],输入 cmd)。
导航到 src 目录并输入 php run.php。
创建结构化的 HTML 书签文件
<?php
require_once 'HtmlParser.php';
require_once 'Generator.php';
$parser = new Adibaba\DeliciousExport\HtmlParser('delicious.html');
$parser->parse();
$generator = new Adibaba\DeliciousExport\Generator();
$generator->setHtmlParser($parser);
file_put_contents('bookmarks.html', $generator->generate());
?>
创建 JSON 书签文件
<?php
require_once 'HtmlParser.php';
$parser = new Adibaba\DeliciousExport\HtmlParser('delicious.html');
file_put_contents('bookmarks.json', json_encode($parser->parse()->getBookmarks()));
?>
HTML 解析器选项:拆分标签
标签 'php code' 将变为两个标签 'php' 和 'code'。
<?php
require_once 'HtmlParser.php';
$parser = new Adibaba\DeliciousExport\HtmlParser('delicious.html');
$parser->setSplitTags(true);
file_put_contents('bookmarks.json', json_encode($parser->parse()->getBookmarks()));
?>
HTML 生成器选项
以下选项为默认值。
<?php
require_once 'HtmlParser.php';
require_once 'Generator.php';
$parser = new Adibaba\DeliciousExport\HtmlParser('delicious.html');
$parser->parse();
$generator = new Adibaba\DeliciousExport\Generator();
$generator->setHtmlParser($parser)
// Templates
->setTemplateMain('./templateMain.htm')
->setTemplateTag('<li><a href="#_TAG_">_TAG_<span>_TAG_SIZE_</span></a></li>', false)
->setTemplateCollection('<h1 id="_TAG_">_TAG_</h1><ul>_BOOKMARKS_</ul>', false)
->setTemplateBookmark('./templateBookmark.htm')
->setTemplateBookmarkNote('<pre>_BOOKMARK_NOTE_</pre>', false)
->setTemplateBookmarkTag('<span><a href="#_BOOKMARK_TAG_">_BOOKMARK_TAG_</a></span>', false)
// Default tag for bookmarks without specified tag
->setDefaultNoTags('No-Tags')
// Specifies, if bookmark notes/descriptions are added
->setIncludeNotes(true)
// Specifies, if only public bookmarks should be included
->setIncludePrivateBookmarks(true)
// Specifies, if HTML entities should be encoded
->setEncodeHtml(true)
// Sets representation for date/time
->setDateFormat('Y-m-d');
file_put_contents('bookmarks.html', $generator->generate());
?>
与 PHP 对象一起工作
<?php
require_once 'HtmlParser.php';
$parser = new Adibaba\DeliciousExport\HtmlParser('delicious.html');
$parser->parse();
// Bookmarks
print_r($parser->getBookmarks());
// Tags, sorted by name
print_r($parser->getTags());
// Tags, sorted by size
print_r($parser->getTags(true));
// Bookmarks without tags
print_r($parser->getBookmarkIdsWithoutTags());
?>