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

一个简易的提供折叠功能的组件
只有启用组件的人才能看到效果
支持夜间模式

查看我的使用实例
2019-7-22终于有除了我以外的第二位使用者啦! 感动!

效果图:

效果图比较旧了..新的边框没有这么显眼, 比较像code块的那种细边框
(虽然背景色已经调浅了 但感觉好像还是有点深?)

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

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

[hide]
总共三种关键字:
spoiler, fold, hide
不区分大小写
效果相同 凭个人喜好选择
为什么会有三种请看#5的讨论
[s](小孩子才做选择 大人我全都要!)[/s]
[/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客户端 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)
#7 - 2019-7-29 11:47
(。´-д-)
过审了! 多谢sai老板!
#8 - 2019-8-2 10:16
(我还有机会吗?)
因为最近会把长评短评写在同一篇日志里,这个插件刚好派上了用场。
日志整个清爽了很多,感觉就像电子书一样诶,点开目录才能看到内容。
看bgm使用的人似乎不多,不过对于有需求的人来说真的帮了大忙。非常感谢~

其实我一开始还以为hide spoiler fold是三种功能,试了一会儿才发现它们没差别,我是不是太笨了(bgm38)

多说几句废话:

另外又试了试楼主的code增强组件,我很喜欢code模块的质感(对不起没有说你这个折叠功能做得不好看的意思(bgm38)),但是很可惜code模块第一行太长了,如果我不手动换行就会无限延伸一下去。
请问有什么解决方案吗?没有就算了…也不是啥重要事情。
#8-1 - 2019-8-2 11:33
Cedar
能用上就好! (bgm39)
其实本来只有 spoiler 一个关键词的, 但是楼上提议用 fold, 所以最后想了想干脆全加上去算了b38 (主楼更新了一下说明, 不会再弄错啦)

(其实我自己都觉得这个样式做得不好看..当时是照着另一个论坛的样式做的, 那边看着还可以..放到这儿就不太好看, 确实应该改改..可是我又担心做成跟code完全一样的样式容易混淆..先把边框改成code块的样子, 颜色保持原状试试吧)

code模块不能自动折行是因为code本来是用来展示代码的, 而代码一折行就不清晰了 甚至含义都会变..要改的话也不是不行..只是比较麻烦 而且这就失去code的意义了..
也许等以后吧 等哪天我来兴趣把代码高亮弄出来之后(bgm39 感觉还是不要改比较好..

我还是先把样式改掉吧(bgm38)
#8-2 - 2019-8-2 11:50
うくさ(uks)
Cedar 说: 能用上就好!
其实本来只有 spoiler 一个关键词的, 但是楼上提议用 fold, 所以最后想了想干脆全加上去算了b38 (主楼更新了一下说明, 不会再弄错啦)

(其实我自己都觉得这个样式做得...
原来是这样啊,确实code模块本身的功能就不是用来呈现文本的呢…
没关系啦暂且保持这样也可以,能做出这个功能就已经很好啦~
#8-3 - 2019-8-2 12:07
うくさ(uks)
Cedar 说: 能用上就好!
其实本来只有 spoiler 一个关键词的, 但是楼上提议用 fold, 所以最后想了想干脆全加上去算了b38 (主楼更新了一下说明, 不会再弄错啦)

(其实我自己都觉得这个样式做得...
对啦我想再请教一下,请问有什么方法可以在页面内加“书签”吗?
比如说,我写了一篇日志,正文中有超链接连到评论区某层楼,但是使用bbcode就会打开一个新的页面再跳转到那层楼。有没有办法可以直接在当前页面“滑动”到指定楼层?
(啊不知道我有没有表述清楚(bgm39)
#8-4 - 2019-8-2 15:30
Cedar
想被うくさ杀掉 说: 原来是这样啊,确实code模块本身的功能就不是用来呈现文本的呢…
没关系啦暂且保持这样也可以,能做出这个功能就已经很好啦~
我已经改好了 就等审核了(bgm39)
或者你有油猴插件的话可以试试启用脚本 看看效果怎么样
(记得关掉组件)

好像BBcode做不到这一点,
不过也许可以写个小组件实现..
等我有空试试看
#8-5 - 2019-8-2 15:31
うくさ(uks)
Cedar 说: 我已经改好了 就等审核了
或者你有油猴插件的话可以试试启用脚本 看看效果怎么样
(记得关掉组件)

好像BBcode做不到这一点,
不过也许可以写个小组件实现..
等我有空试试看
非常感谢!!(bgm09)(bgm09)
#8-6 - 2019-8-2 15:38
Cedar
想被うくさ杀掉 说: 非常感谢!!
喔 对了 如果打算将来修改的话 把短评放在回复里会比较好, 主层要是被回复了就没法修改了..(不过回复的宽度比较小, 也许不那么美观
#8-7 - 2019-8-2 15:42
うくさ(uks)
Cedar 说: 喔 对了 如果打算将来修改的话 把短评放在回复里会比较好, 主层要是被回复了就没法修改了..(不过回复的宽度比较小, 也许不那么美观
啊这个我知道,不过还是多谢提醒~
#8-8 - 2019-8-9 16:16
Cedar
过审了 试试新样式的效果?
这个也过审了
#8-9 - 2019-8-9 16:35
うくさ(uks)
Cedar 说: 过审了 试试新样式的效果?
这个也过审了
哇太棒了!!!爱你✧⁺⸜(●˙▾˙●)⸝⁺✧
#9 - 2019-8-9 16:25
(攰。)
测试一下
[spoiler=色图1]

[/spoiler]
[fold=爱和高]

[/fold]
[hide=əp!Ч]
just a text
[/hide]
#9-1 - 2019-8-9 16:41
#9-2 - 2019-8-9 19:29
🎉Uuyyyu🎊
Cedar 说:
為發色圖提供了新思路(bgm24)
#10 - 2019-8-9 20:12
(Bgm客户端 https://bgm.tv/group/topic/350677)
你这功能假如我不开插件, 我就看到一堆乱七八糟的BBCODE, 不好吧
#10-1 - 2019-8-9 21:48
Cedar
没有一堆乱七八糟吧..
这就靠用户自己判断了, 不要用太多就是了.
一般要折叠的都是大段文本, 不会用太多的.
#10-2 - 2019-8-9 22:30
Cedar
其实你提的问题我主楼就有谈, 二楼也说了..
不过你觉得主楼最下面的显示会乱七八糟么?

或者看一看别人的用法..
比如八楼的和我的日志..

楼上那个是测试..
发得密集也正常..