#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
bangumi大西王
根据长度自动折叠的组件已经有了(
#2-2 - 2019-6-7 03:54
920
Trim21 说: 根据长度自动折叠的组件已经有了(
让我猜猜,一定是你写的!(bgm38)
#2-3 - 2019-6-7 03:55
bangumi大西王
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
(✨️make bangumi great again✨️)
都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
99.99
Cedar 说:
為發色圖提供了新思路(bgm24)
#10 - 2019-8-9 20:12
(✨️make bangumi great again✨️)
你这功能假如我不开插件, 我就看到一堆乱七八糟的BBCODE, 不好吧
#10-1 - 2019-8-9 21:48
Cedar
没有一堆乱七八糟吧..
这就靠用户自己判断了, 不要用太多就是了.
一般要折叠的都是大段文本, 不会用太多的.
#10-2 - 2019-8-9 22:30
Cedar
其实你提的问题我主楼就有谈, 二楼也说了..
不过你觉得主楼最下面的显示会乱七八糟么?

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

楼上那个是测试..
发得密集也正常..
#11 - 2021-7-30 16:45
(脚冷)
组件突然失灵了……是不是和chrome更新版本有关
#11-1 - 2021-7-30 17:15
Cedar
没有失灵呀?我的是92.0.4515.107,正常工作中
也许是bangumi加载失败了?
#11-2 - 2021-7-30 17:33
uks
Cedar 说: 没有失灵呀?我的是92.0.4515.107,正常工作中
也许是bangumi加载失败了?
我也是这个版本,但是点按钮不展开了
难道只能放弃超合金组件走油猴?(bgm41)
#11-3 - 2021-7-30 19:22
Cedar
日下部りり 说: 我也是这个版本,但是点按钮不展开了
难道只能放弃超合金组件走油猴?
全都不行吗,还是个例?给个例子我看看?我这里都可以正常展开啊
#11-4 - 2021-7-30 19:33
uks
Cedar 说: 全都不行吗,还是个例?给个例子我看看?我这里都可以正常展开啊
随便一个日志都不行

[hide]
123
[/hide]

可以折叠但点按钮不展开
#11-5 - 2021-7-30 19:43
uks
Cedar 说: 全都不行吗,还是个例?给个例子我看看?我这里都可以正常展开啊

我试着把你的组件代码复制到自己随便建的组件当中,竟然生效了。看来确实是班固米自己的问题。
#11-6 - 2021-7-30 20:13
Cedar
日下部りり 说: !
我试着把你的组件代码复制到自己随便建的组件当中,竟然生效了。看来确实是班固米自己的问题。
(bgm38) bangumi的问题有点多..
#11-7 - 2021-7-30 20:46
uks
Cedar 说:  bangumi的问题有点多..
sai老板,该出来修bug了!
#12 - 2021-8-9 13:25
(脚冷)
打扰了,我好像知道问题了……
可能是和我之前装过的脚本起冲突了……
最近我在bgm输入东西只要一按回车就会强制变成搜索,搞了一阵发现好像是以前的装的油猴脚本没清干净(bgm38)
#12-1 - 2021-8-9 13:38
Cedar
还好 解决了就好!
#13 - 2023-1-1 12:36
(脚冷)
虽然不知道原因,但是这个和“加密通信翻译”同时启动就会点不开折叠块(bgm39)
#13-1 - 2023-1-1 16:24
Cedar
我猜测原因可能是加密通信翻译组件会自动把原始内容解密后替换掉原文本,即使评论没被加密也会自己替换掉自己,而我这个组件在替换后就不工作了..跟组件的执行顺序应该也有关,我启用了这个组件的话有时候会失效有时候不会..现在变成必定失效了..
问问 @神戸小鳥 能不能在解密前判断一下是不是密文,不是密文就不要替换了,试试能不能解决
现在的话,加密通信组件应该不需要一直开着吧,想用的时候开一下,平常关上,只能暂时这样了(bgm38)
#13-2 - 2023-1-1 16:26
uks
Cedar 说: 我猜测原因可能是加密通信翻译组件会自动把原始内容解密后替换掉原文本,即使评论没被加密也会自己替换掉自己,而我这个组件在替换后就不工作了(大概)..跟组件的执行顺序应该也有关,我启用了这个组件的话有时候...
没事,加密通信实在不常用,我关掉了
虽然这个现在也不太常用
#13-3 - 2023-1-1 16:29
Cedar
马都卡_uks 说: 没事,加密通信实在不常用,我关掉了
虽然这个现在也不太常用
(bgm38)我自己也只有一个日志用得到
#14 - 2023-1-1 13:09
(沉默是金,这位正确,请编一下你的故事。 ... ... ... ... ...)
现在的人,一个词就搞定了所有想表达的思想,所以不需要折叠。(bgm37)
#14-1 - 2023-1-1 16:25
Cedar
这个组件比较适合自娱自乐,因为你不启用组件就看不到折叠效果..
#14-2 - 2023-1-1 18:44
普通的傻逼
Cedar 说: 这个组件比较适合自娱自乐,因为你不启用组件就看不到折叠效果..
对啊,目前就在用,但是其他人不用,所以有些长的东西发到日志里,再给个链接。
#15 - 2023-7-17 22:59
(二次元界acgn#%G潜行中……)
可以折叠条目的制作人员吗?自定义折叠内容可以吗?
#15-1 - 2023-7-18 11:34
Cedar
呃,这跟我的组件不是一个功能呀,这个就是发回复时弄个折叠块给开组件的人看
而且折叠制作人员的功能不是最近才更新吗..