Add mechanism for disabling features for certain site software.

This commit is contained in:
name 2017-12-11 03:58:56 -08:00
parent 2d14dd5a61
commit d1d448d93e
2 changed files with 36 additions and 1 deletions

View File

@ -183,6 +183,7 @@ Main =
# c.time 'All initializations'
for [name, feature] in Main.features
continue if Site.disabledFeatures and name in Site.disabledFeatures
# c.time "#{name} initialization"
try
feature.init()
@ -281,7 +282,7 @@ Main =
new Notice 'warning', msg
# Parse HTML or skip it and start building from JSON.
unless Conf['JSON Index'] and g.VIEW is 'index'
unless Index.enabled
Main.initThread()
else
Main.expectInitFinished = true

View File

@ -1,6 +1,40 @@
SW.tinyboard =
isOPContainerThread: true
disabledFeatures: [
'Board Configuration'
'Normalize URL'
'Captcha Configuration'
'Image Host Rewriting'
'Redirect'
'Index Generator'
'Announcement Hiding'
'Fourchan thingies'
'Custom CSS'
'Resurrect Quotes'
'Quick Reply Personas'
'Quick Reply'
'Cooldown'
'Pass Link'
'Index Generator (Menu)'
'Edit Link'
'Archive Link'
'Quote Inlining'
'Quote Previewing'
'Quote Backlinks'
'Comment Expansion'
'Thread Expansion'
'Thread Stats'
'Thread Updater'
'Mark New IPs'
'Banner'
'Flash Features'
'Reply Pruning'
<% if (readJSON('/.tests_enabled')) { %>
'Build Test'
<% } %>
]
detect: ->
for script in $$ 'script:not([src])', d.head
return true if /\bvar configRoot=".*?"/.test(script.textContent)