tanghoong / phpchatblock
PHPChatBlock 是一个用于 PHP 的对话聊天块显示组件类
v0.2.39
2021-11-24 05:30 UTC
Requires
- php: >=7.1
README
php项目的一个对话聊天块显示组件。一个用于对话小说社区的 UI 组件。开始日期:2021年8月30日 更新日期:2021年10月23日 作者:Tang Hoong
描述
只需将字符串格式与 sample.txt 完全相同,ChatBlock 将将它们渲染成完美且美观的聊天块。
如何
遵循 sample.txt 的格式
A: I like apple.
B: I like apple too.
然后
require __DIR__ ."/ChatBlock.php";
use TangHoong\ChatBlock\ChatBlock as ChatUI;
$cui = new ChatUI([
'allowForkScript' => 'https://editor.chatnovel.app/', // default:null
'mainCastColor' => '#198754',
'castColorMode' => 'palette', // none, random, palette
'chatHeaderSize' => 'large' // default:normal,small,large
]);
$cui->setColon([':',':']); // both
$cui->setNarrator(['系统','旁白','Narrator','narrator',]);
echo sprintf('<style>%s</style>', $cui->renderCss());
$content = str_replace(["\n"], ["\r\n"], $rawscript); // Depends If code on Window or Linux
if(!is_null($content))
{
$cui->feed($content);
echo $cui->render();
}
路线图
- [] 表情符号
- [] 表情符号(研究中)
- [] 文字转语音(研究中)
- [] 音频剪辑(仅限 mp3)
- [] 操作按钮
- [] 无效图像处理
- [] 更改聊天背景(图像、视频)
- [] 反转故事(根据标题切换行为主干)
- [] 导出格式(txt、json、csv、自定义)
- [] 仅点击显示下一个聊天
- [] 每个角色的个人资料
- [] 通过评论分组
资源参考自
变更日志
2021年10月
- 优化 cast() 位置
- 优化 feed() 循环,解决分隔符检测错误
- Script showquote:5-10(允许包含特定行的原始脚本)
- 添加聊天块颜色(无、随机、调色板)
- 允许在聊天块中加粗、斜体、代码、下划线和删除线
- 添加基准 mstime
- 允许
@name
&#tag
内联 - 允许将脚本分支到实时编辑器
- 实时编辑器
2021年9月
- 默认叙述者 ['Narrator','narrator','系统','旁白'];
- 默认冒号 [':',':'];
- 将 --- 替换为 ADVANCE
- 自定义 setBreakPoint('I_LOVE_EMANYAN')
- 设置模板
- 允许字符串中使用 @, #
- 添加原始脚本(将切换使用 site 类)
- 修复 p, h1-h6 容器
- 允许调整标题大小
- 如果行属于同一人,则仅显示一次标题
- 允许将未格式化的行作为警告消息显示(仅当单冒号作为索引时有效)
- 允许导出为 json
- showCasts()
2021年8月
- 将 css 文件重命名为 chatblock.css
- 添加 chatblock.js
- H1-H6 标签
- p 标签
- 修复叙述者显示
- 对话索引(默认为 #)
- 最小化格式(现在可以运行而不需要字符设置)
- 换行符
- 直接作为段落写入的将不予考虑。(无 php 错误)
- 添加 'rawscript#' 以显示解析前的原始数据。
- setColon() 已修复
- setNarrator() 已修复
- 冒号数组(默认为 #)
- 叙述者数组(默认为 narrator)
- 起始模板
- 开发教程(带示例)
- 允许简易模式使用第一行作为主要角色