splorp/paperback-export

将 Kirby 3 CMS 内容导出以用于 PaperBack 书籍制作器

2.0.6 2023-01-11 18:21 UTC

This package is auto-updated.

Last update: 2024-09-17 18:36:21 UTC


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中添加了keywordshomepagesupport.docssupport.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文件。

有问题吗?

请通过电子邮件Twitter联系我。