#1 - 2019-6-7 02:55
Cedar (。´-д-)
组件链接
脚本安装

一个简易的提供折叠功能的组件
只有启用组件的人才能看到效果

效果图:


写法类似BBcode:
[spoiler=我是标题]
我是内容
[/spoiler]

[fold=标题可省略]
内容可以随意添加BBcode
[/fold]

[hide]
总共三种关键字:
spoiler, fold, hide
[/hide]

[spoiler]
允许像这样混用..虽然不建议..
(只是因为混用的代码更容易实现..)
[/fold]


但是与真正的BBcode有区别. 限制更多.
有些需要注意的点:

=== 注意事项 ===
→因为是客户端组件, 所以其他人想看到折叠效果必须启用组件. 否则只会看到纯文本.
可能有人会觉得添加这些bbcode不美观..对不启用组件的人不友好..
添加如下限制(除了代码好写之外)也是为了尽量让组件不影响普通用户的阅读..


→标签必须独占一行. 首尾除了空格外不能添加其他字符.

[spoiler=错误示范]这样写无效[/spoiler]

[fold=错误示范]我不是空格
这样写也无效
我也不是空格[/fold]

    [hide=正确示范]     ←这儿空格很多
这样写有效!
         [/hide]    ←这儿空格也不少


→不能嵌套使用
[fold=outer]
[spoiler=inner]
我是内层内容
[/spoiler]
我是外层内容
[/fold]
以上写法会出错.


→不能在外面添加BBcode (但你可以在里面添加)
[size=16][b]
[spoiler]
不能这样写
[/spoiler]
[/b][/size]

[spoiler]
[size=16][b]但是可以这样写[/b][/size]
[img]也能加图.jpg[/img]
或别的BBcode
[/spoiler]


======

以下内容已过时.
(前6楼的讨论是针对以下内容的)
[spoiler]
把内容改简洁了一点 再顶一次..如果还是没什么回复的话我就......就发个脚本算了(bgm38) 将来更新也方便..组件试着提交一下, 过不过审无所谓了吧(bgm38)
目前我只知道两个人需要..其中一个是我自己b38

求回复呀! 你们不回复我怎么知道是不需要还是没看到呀
终于有回复了! 并不是没看到, 是真的不需要! 挺好的 只是我现在就这个表情→(bgm38)
既然需求小的话那sai就不太可能更新这个功能 那我就可以按自己的想法来 不用想太多了 (虽然我也没很庞大的想法 也不觉得继续增加这种代码是好事b38


======

在发布前有几个问题想先征求一下意见..

问题0
这组件有存在的必要么(bgm38)
毕竟只有启用组件的人才看得到效果, 没启用的只会保留原样..
但是自己写日志还是用得上的..

问题1
这个问题比较重要..

是喜欢风格A
[spoiler=我是标题]
我是内容
[/spoiler]

还是风格B
*=== title here ===*
前后加星号
就默认折叠
等号数量不限
*==================*
!*=== title here ===*!
再加感叹号
就默认展开
!*==================*!

风格A更像BBcode, 要是以后BBcode内置了折叠功能 也许可以兼容(然后我的组件就可以退役了(bgm74))
风格B更像标题, 对不启用组件的人比较友好, 类似我的另一个组件代码块超进化!的想法..

另外, 对于风格A, 关键字用spoiler还是用fold?
楼下提议用fold, 更贴近"折叠"的含义..但是这是个历史问题, 折叠最初的功能就是防剧透(spoiler), tsdm和mcbbs用的关键字都是spoiler, 搜索spoiler bbcode也能找到与"折叠"有关的结果(而fold则不行)
我觉得沿用spoiler关键字, 跟其他bbcode兼容会比较好..如果不同意的人比较多才会考虑改

有别的风格也可以提

问题2
标题摆在哪里? 是摆在按钮旁边, 还是替换按钮里的文字?
或者干脆去掉标题功能(意思是只能写[spoiler], 不能写[spoiler=标题]), 只能手动加标题?

手动加标题可以自己用BBcode加样式
摆在按钮旁边的话就要我统一加样式(我只会加粗)
替换按钮里的文字就完全没有样式 (样子类似tsdm)

问题3
想要什么样子的按钮?
是跟发评论时那个"加上去"按钮一样的蓝色按钮
还是跟老论坛一样的简单朴实的默认按钮 (就是一个方框)
还是跟发新讨论时看到的"添加新讨论"一样的浅灰色按钮
暂定默认按钮. 蓝色按钮不太搭, 而浅灰色按钮是个超链接tag, 可能会被外围的BBcode影响到字号(虽然目前暂时不支持)

按钮样式不那么重要就不问了, 暂定默认按钮.

备注: 目前我的代码实现的是风格A, spoiler关键字, 默认按钮, 标题显示在按钮内.

[/spoiler]
#2 - 2019-6-7 03:49
肯定是风格B,之前有个插件插入污染非插件户用户阅读的自定义代码,被喷死了。
最好可以考虑一些更隐蔽的,不可见最好(特殊字符?0px图?),你可以在编辑器用BBCODE,但在发送前把他编译成特殊标记,编辑时再编译回来

!*=== 另外我觉得这个产品的核心理念是矛盾的:===*!

1.折叠的需求是读者
2.实现折叠的控制权却是在作者手里
想要实现自己作品折叠排版的作者,折腾了半天读者没装插件看不到。
想要轻便阅读,折叠过长作品的读者,因为作者没按这个格式写也无法实现折叠。
只有大家都装了插件才能实现插件的初衷,过于理想化了。

不如根据文章长度自动折叠?(bgm24)

!*=== END ===*!
#2-1 - 2019-6-7 03:52
Trim21
根据长度自动折叠的组件已经有了(
#2-2 - 2019-6-7 03:54
920
Trim21 说: 根据长度自动折叠的组件已经有了(
让我猜猜,一定是你写的!(bgm38)
#2-3 - 2019-6-7 03:55
Trim21
920 说: 让我猜猜,一定是你写的!
机智如你(bgm38)
#2-4 - 2019-6-7 04:18
Cedar
没办法..这是组件的限制..BBCode没有折叠功能, 只能先这么将就着了..担心的话, 至少写日志自娱自乐的时候可以用上..(bgm38)
组件用户数量我不太担心..毕竟折叠功能主要是为了美观..不启用组件只是稍微不美观一点, 不会影响阅读..不要把这个组件当成基础功能, 而当成一个锦上添花的东西..
风格A和风格B的主要矛盾是应不应该牺牲一点美观性以保证码字的便利性和对将来的BBCode的兼容性..(只要sai不改折叠BBCode的默认格式的话..)
被用户喷还是因为影响阅读了..插入一堆代码看得眼花肯定是不行的..所以只要不影响阅读就可以了..问题就在于spoiler=title的格式算不算影响阅读..*===*这种格式又算不算影响阅读..(我觉得还能接受)
编译什么的太麻烦了 我不干(bgm38) 而且禁用组件后就失效了..要是出bug把用户的数据弄没了就更糟了..
为什么我收到的评论会是刚注册bangumi的用户 你是谁的小号嘛(bgm38)
#3 - 2019-6-7 05:18
(Bgm安卓App - https://bgm.tv/group/topic/350677)
都10年了,能改得动吗,只能二次加工
#3-1 - 2019-6-7 11:58
Cedar
谁知道呢..今年不是还更新维护了嘛
#4 - 2019-6-7 13:05
(。´-д-)
好像确实没什么需求啊..在客户端做这个..那暂时搁置吧..
#5 - 2019-6-7 14:44
(阿佩超级无敌可爱~)
风格A。
按钮什么样无所谓。
没搞懂什么是“去掉标题功能”。
标题还是在按钮外吧。

spoiler不是剧透吗?折叠跟剧透还是不同的,折叠的不一定是剧透。折叠是fold。部分论坛的bbcode是有[fold][/fold]的。
#5-1 - 2019-6-7 15:00
Cedar
咦 我都打算搁置了(bgm38)
"去掉标题功能"的意思就是你只能写 [spoiler] 不能写 [spoiler=标题], 按钮的文字永远是"展开 / 折叠"..想加标题的话要在前面自己敲..比如
[size=20][color=red]我是红色大标题[/color][/size]
[spoiler]
我是会被折叠的内容
[/spoiler]

折叠最初的作用就是防剧透吧 所以就取名叫spoiler了..我看到tsdm和mcbbs都是这样命名的..搜索spoiler也能找到跟"折叠"有关的结果..用fold会更好么
#5-2 - 2019-6-7 15:15
🌸九重凛🌸
Cedar 说: 咦 我都打算搁置了 "去掉标题功能"的意思就是你只能写 [spoiler] 不能写 [spoiler=标题], 按钮的文字永远是"展开 / 折叠"..想加标题的话要在前面自己敲..比如 我是红色大标题
[spoiler]我是会被折叠的内容[/spoiler] 折叠最初的作用就是防剧透吧 所以就取名叫spoiler了..我看到tsdm和mcbbs都是这样命名的..搜索spoiler也能找到跟"折叠"有关的结果..用fold会更好么
折叠的目的不仅仅是防剧透,更有可能是照顾阅读效率和美观。
那这样的话,如果标题在按钮外(按钮上只有“点击折叠/展开”)可以去掉标题功能,标题在按钮内部就不行了。其实去掉可能更简洁一点。
#5-3 - 2019-6-7 15:17
🌸九重凛🌸
Cedar 说: 咦 我都打算搁置了 "去掉标题功能"的意思就是你只能写 [spoiler] 不能写 [spoiler=标题], 按钮的文字永远是"展开 / 折叠"..想加标题的话要在前面自己敲..比如 我是红色大标题
[spoiler]我是会被折叠的内容[/spoiler] 折叠最初的作用就是防剧透吧 所以就取名叫spoiler了..我看到tsdm和mcbbs都是这样命名的..搜索spoiler也能找到跟"折叠"有关的结果..用fold会更好么
如果我折叠的不是剧透还用"spoiler"就很奇怪。(bgm38)
#5-4 - 2019-6-7 15:28
Cedar
九重凛 说: 折叠的目的不仅仅是防剧透,更有可能是照顾阅读效率和美观。
那这样的话,如果标题在按钮外(按钮上只有“点击折叠/展开”)可以去掉标题功能,标题在按钮内部就不行了。
是这样的 这个是历史遗留问题了(bgm38) 选择风格A的话就要考虑以后bangumi提供折叠功能时会发生什么..一开始我也选择fold 是看到那两个论坛都用spoiler才改过来的..我担心的是选fold不能兼容将来的BBCode, 而且跟其他论坛的BBCode也不统一(不过我论坛逛得不多b38)
如果坚持选fold的话, 会考虑的..

所以你是选择标题在按钮内咯 tsdm也是这个风格 可以的..所以你是选择不加标题咯 mcbbs也是这个风格 可以的..
#5-5 - 2019-6-7 16:16
🌸九重凛🌸
Cedar 说: 是这样的 这个是历史遗留问题了 选择风格A的话就要考虑以后bangumi提供折叠功能时会发生什么..一开始我也选择fold 是看到那两个论坛都用spoiler才改过来的..我担心的是选fold不能兼容...
这个,sai老板是可以商量的,你可以问问他以后考虑采用什么作为标志。(bgm38) 我倾向于按钮外(好好看主楼层(bgm38) )和去掉标题功能以简洁化。
#5-6 - 2019-6-7 16:36
Cedar
九重凛 说: 这个,sai老板是可以商量的,你可以问问他以后考虑采用什么作为标志。 我倾向于按钮外(好好看主楼层 )和去掉标题功能以简洁化。
啊..我看反了..
(我感觉sai老板会说暂时没计划(bgm38)
老板愿意给个方向么b38 是选择spoiler作为关键字还是选fold @Sai🖖
#5-7 - 2019-6-14 14:36
Cedar
我把代码弄成脚本了 虽然我没测试(懒..) 但应该没有问题 可以启用试试看..主楼那个折叠块就可以拿来测试..
虽然你提议去掉标题功能, 我还是把标题摆进里面了..想自己加标题的话, 不要填标题就可以了
#5-8 - 2019-6-14 14:38
🌸九重凛🌸
Cedar 说: 我把代码弄成脚本了 虽然我没测试(懒..) 但应该没有问题 可以启用试试看..主楼那个折叠块就可以拿来测试..
虽然你提议去掉标题功能, 我还是把标题摆进里面了..想自己加标题的话, 不要填标题就可以...
好的b24
#6 - 2019-6-13 20:34
(。´-д-)
把内容改简洁了一点 再顶一次..(bgm38)(bgm38)(bgm38)
终于有回复了! 并不是没看到, 是真的不需要! 挺好的 只是我现在就这个表情→(bgm38)
#6-1 - 2019-6-14 16:29
porepoem
(bgm38)
辛苦了,愿意写组件的都是靓仔(bgm38)
#6-2 - 2019-6-14 17:10
Cedar
porepoem 说:
辛苦了,愿意写组件的都是靓仔
谢谢! 我也是写了给自己用(bgm38)