splorp / paperback-export
将 Kirby 3 CMS 内容导出以用于 PaperBack 书籍制作器
Requires
README
导出 Kirby CMS 内容以用于 Paperback Book Maker.
此插件与 Kirby 3 和 Kirby 4 都兼容。
此插件有什么功能?
插件根据用户指定的页面生成一个轻量级格式化的纯文本文件。该文本文件用于创建一个“书籍”包,可在 Newton OS 设备上查看。
以下链接可以下载导出文件的示例。该文件包含目前 Newton Glossary 网站上发布的所有术语。
newtonglossary.com/export/paperback
你问,什么是 Paperback 书籍?
Paperback 是由 David Fedor 创建的一个简单跨平台实用程序,它可以将纯文本文件快速打包,以便在 Newton OS 设备上查看。由于 Paperback 实用程序仅在经典 Mac OS 和 Windows 下运行,因此 Paperback Book Maker 是由 Victor Rehorst 开发,以满足您的跨平台需求。
安装
使用以下任一方法安装插件后,访问 yoursite.com/export/paperback
应会自动下载文本文件,无需任何额外配置。
下载
要手动安装插件,请 下载当前版本,解压缩存档,并将文件放入
site/plugins/paperback-export
对于 Kirby 2 网站,请下载插件的 1.0.1 版本。
Git 子模块
将插件作为 Git 子模块安装
$ cd your/project/root
$ git submodule add https://github.com/splorp/kirby-paperback-export.git site/plugins/paperback-export
$ git submodule update --init --recursive
$ git commit -am "Add Kirby Paperback Export plugin"
将插件作为 Git 子模块更新
$ cd your/project/root
$ git submodule foreach git checkout master
$ git submodule foreach git pull
$ git commit -am "Update submodules"
$ git submodule update --init --recursive
选项
目录前缀
Paperback 书籍可以包含由 $page->title()
字段中找到的文本创建的目录。可以在 site/config/config.php
文件中添加以下选项,允许您指定自定义目录前缀。
默认情况下,此选项未设置。
return [ 'splorp.paperback-export.prefix' => '', ];
指定目录前缀。
return [ 'splorp.paperback-export.prefix' => '@@TOC ', ];
包含其他内容字段
默认情况下,位于 $page->title()
和 $page->text()
字段中的文本将被包含在导出数据中。可以在 site/config/config.php
文件中添加以下选项,允许您指定其他要包含的内容字段。这些字段将附加在标题和文本字段之后。
默认情况下,此选项未设置。
return [ 'splorp.paperback-export.fields' => [], ];
指定一个或多个内容字段及其类型作为数组。
return [ 'splorp.paperback-export.fields' => ['author' => 'text','posts' => 'related'], ];
对于包含字母数字数据(如作者名称或日期)的字段,请使用 text
内容类型。
对于使用 YAML 语法格式化的字段(如 相关文章),请使用 related
内容类型。每个相关文章或页面的标题字段都将包含在导出数据中。
包含未列出的页面
默认情况下,Kirby站点的每个页面都将包含在导出的数据中。以下选项可以添加到site/config/config.php
文件中,允许您根据某些标准筛选包含哪些页面。
此选项默认设置为true。
return [ 'splorp.paperback-export.includeUnlisted' => true, ];
包含子页面
此选项中指定的页面将不会包含,但那些页面的子页面将包含在导出的数据中。
默认情况下,此选项未设置。
return [ 'splorp.paperback-export.includeChildren' => [], ];
指定一个或多个页面作为数组。
return [ 'splorp.paperback-export.includeChildren' => ['blog','newsletter'], ];
排除模板
使用此选项中指定的模板的页面将不包括在导出的数据中。
默认情况下,此选项未设置。
return [ 'splorp.paperback-export.excludeTemplate' => [], ];
指定一个或多个模板作为数组。
return [ 'splorp.paperback-export.excludeTemplate' => ['about','search'], ];
包含日期戳
以下选项可以添加到site/config/config.php
文件中,允许您添加一个日期戳,以表示数据导出的时间。日期戳格式为YYYY-MMM-DD,并插入在网站标题和描述之后。
此选项默认设置为false。
return [ 'splorp.paperback-export.includeDatestamp' => false, ];
发行说明
2.0.6
- 改进了包含
<img>
元素的页面的处理
2.0.5
- 添加了指定包含日期戳的选项
2.0.4
- 添加了指定其他内容字段的选项
2.0.3
- 添加了指定目录前缀的选项
- 添加了对选项值的更好异常检查
- 修复了
composer.json
中的格式错误的support
字段 - 从
index.php
中删除了多余的注释
2.0.2
- 向
composer.json
中添加了keywords
、homepage
、support.docs
、support.source
字段
2.0.1.1
- 修复了
index.php
中的版本号
2.0.1
- 重构了字符串函数中的替换模式
- 移除了标题元素引入的额外换行符
- 更好地处理了包含
<img>
元素的页面 - 将当前日期添加到导出文件中
2.0.0
- 重构并更新以兼容Kirby 3
- 调整了选项名称,使其更一致且易于理解
- 将文件导出代码移动到
snippets/export.php
- 将
snippets/page.php
重命名为snippets/content.php
1.0.1
- 重构了过滤选项
- 修复了
$page->text()
中段落断行的格式
1.0.0
- 初始发布
致谢
向Pedro Borges和他的Kirby XML Sitemap表示敬意,他们提供了必要的框架和灵感,使我能够尝试开发自己的插件。
许可
版权所有 © 2017–2024 Grant Hutchinson
该项目受简洁的MIT许可许可。此许可允许您几乎对存储库中的内容做任何想做的事情,只要您提供适当的归属并不对任何人承担责任。
有关更多详细信息,请参阅包含在此存储库中的license.txt文件。