Meta:Huggle/Config.yaml

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

This is a default project configuration file for Huggle, it's written in YAML and you can prefix it with wiki text as long as the configuration file itself contains magic HTML comment HUGGLE:BOC (see source of this wiki page for details).

This page also serves as complete documentation of all project options as well.

---
# https://www.mediawiki.org/wiki/Manual:Huggle/Deploying/DefaultConfig.yaml
# This is a default project configuration for Huggle for use in new Huggle installations.
# Please keep every option documented if possible. Optional config options are commented out so that current Huggle defaults are always used. Feel free to uncomment to override the defaults.
# Options that are deprecated should not be a part of this document, if you find any, remove them

##############################################################################
# Access control
# Defines requirements needed to use Huggle in read + write mode on the wiki
# If user is not eligible, Huggle will allow usage in read-only mode
##############################################################################

# If this is set to false, nobody will be allowed to use Huggle on the project,
# this is useful if you need to temporarily or permanently disable it
enable-all: true
# Minimum required version, users with older Huggle will not be allowed to login
min-version: 3.1.0
# If this is set to true, your username must be listed on Approval Page which is defined
# with option "userlist" in section "Other"
approval: false
# User must be admin in order to use huggle (member of sysop group)
require-admin: true
# User must have a valid configuration file (Special:MyPage/huggle3.yaml.css) that contains enable: true
require-config: false
# How many days user account needs to exist so that they can use Huggle
require-time: 0
# How many edits user account needs to have in order to use Huggle
require-edits: 0
# User must have rollback permission in order to use Huggle
require-rollback: false
# If this is set to true, nobody will be allowed to use Huggle in write mode
# This should be true for new installations until you verify that everything
# works as expected.
read-only: true

##############################################################################
# Reporting
# Definition of AIV and similar pages that vandals get reported to
##############################################################################

# Requests for page protection
protection-requests: false

# User reporting

# Type of reports (case insensitive)
# DefaultAuto - Huggle will follow user preferences, and will default to auto reports
# DefaultManual - Huggle will follow user preferences, and will default to manual reports
# StrictAuto - Huggle will enforce automatic reports
# StrictManual - Huggle will enforce manual reports
report: DefaultAuto

# Edit summary for revert page
report-summary: 'Reporting [[Special:Contributions/$1|$1]]'

# Enable AIV reports (user reports)
aiv-reports: true
# Name of page that is used for reports
aiv: "Project:Requests for help from a sysop or bureaucrat"
# Name of AIV page used by bots (this page is only used to check if user wasn't already reported there)
#aivbot: "Wikipedia:Administrator intervention against vandalism/TB2"
# Template used to report IP user
aiv-ip: '{{subst:VandalReport|$1|$3 $2}}'
# Template used to report regular user
aiv-user: '{{subst:VandalReport|$1|$3 $2}}'
# Section of AIV page to add reports to
#aiv-section: 2
vandal-report-reason: vandalism
uaa: "Project:Requests for help from a sysop or bureaucrat"

##############################################################################
# Deletion requests
# Configuration of ability to delete or request for deletion of pages
##############################################################################
# Whether speedy deletions are enabled, right now Huggle3 supports only speedy deletions
speedy: true
# Delete summary
speedy-delete-summary: "Speedy deleted, $1."
# Summary used when delivering a notification to user who authored the page
speedy-message-summary: "Notification: Speedy deletion of [[$1]]"
# Title of message that is delivered to user
speedy-message-title: "Your page was deleted"
# Summary used when a template informing user about speedy deletion request is delivered to user talk
speedy-summary: "Tagging page for [[WM:DP|speedy deletion]], $1"

# Available speedy deletion options, these are arrays that consist of description, template (put to top of the page), template used to inform user about deletion, and optional information if user should be notified about the deletion
speedy-options:
    G1: ["patent nonsense", 'Delete|Patent nonsense', '{{subst:huggle/db-notice|1=$1|2=it is nonsense or gibberish.}}']
    SPAM1: ["spam", 'Delete|Spam', '{{subst:huggle/db-notice|1=$1|2=it is nonsense or gibberish.}}']

##############################################################################
# Prediction
# This section contains clues that help Huggle predict quality of edit
##############################################################################

# ip addresses are more likely to be vandals
score-ip: 20
# flagged bots are likely not vandals, even if they add swear words
score-bot: -20000
# people with high amount of flags are trusted even if not whitelisted
score-flag: -200
# userpages are frequently used to test stuff
score-user: -250
# userpages edited by other user than owner are typically vandalism
score-foreign-user: 100
# talk pages are often false positives, let's put them low
score-talk: -200
# users with score lower than this are inserted to wl
score-wl: -2000
# ORES see meta.wikimedia.org/wiki/Objective_Revision_Evaluation_Service
# If this is set to true ORES will be enabled
ores-enabled: false
# This is used to indicate whether ORES is supported by a project, if yes, it should be set to true even if ORES is not enabled
ores-supported: false
# URL of ORES
ores-url: https://ores.wikimedia.org/scores/

# This constant is used to amplify the converted score. Native ORES scores have range from 0 to 1 (floating point)
# huggle is using different scoring mechanism and its scores are signed long integers. Tune this variable to
# change weight of ORES within Huggle scores.

# With value of 600, ORES's score "1" (100%) would result in Huggle score 600 and ORES's score "0" would result in -600, score "0.5" would result in 0.
ores-amplifier: 600

# The list below is called "score words" it contains words presence of increase the score of edit by value in brackets,
# you can define as many score words as you want, these words must be lowercase, otherwise ignored (they are compared with diff text which
# is lowercase so that it's case insensitive)

# score-parts are parts of a word, they can be even in a middle of a word, so be careful here or you create too many false positives
score-parts:
#  Score     List of words
    200: [haha, fuuuu, '!!!!!!', '??????', '--------------', Special:Contributions]
    # suck and fuck are not contained in any normal words at least not according English dictionary: http://www.morewords.com/contains/fuck/
    600: [faggot, hihi, hahaha, suck, fuck, fag, retard, shemale]

# score-words are separate words, they don't even actually need to be words, they can be short phrases as well, but must not contain
# comma (fuck off - is valid word)

# no-talk score words are ignored on talk pages (huggle 3.1.10+)
score-words-no-talk:
    800: [hey, heya, hi, hello]
    1000: [':)', ':-)', ':P', ':D', lol, rofl]

score-words:
    100: [cool, stupid, rape, raping, bla, sex, tits, porn, yeah, yea, yee, balls, weed, arse, stupid, homosexual, dicks, ugly, fart]
    200: [crackhead, bieber, porn, bold text, italic text, crap, p3n1s, omg, lmao, rofl, blabla, swag]
    800: [pr0n, p0rn, sh1t, bullshit, wank, peace be upon him]
    1000: [shit, gay, bitch, penis, piss, awesome, gays, faggots, suck, sucks, boobs, dick, pussy, cunt, poop, poo, lesbo, dyke, queer, whore, cockass]
    2000: [pen1s, b1tch, p1ss, fuck, asshole, retard, '=)', '(:', asshat, fucknugget, motherfucker, fucktard, arsehole, swag, ass, butt, '-.-', dipshit, dipstick, asswipe, cunt, twat, yolo, fuckoff, fuck you, wanker, sucks dick, boobs, masturbate, fucking, nigger, niga, nigga, wiener, weiner, derp, derpy, weiner, butthole, tit, bum]

# This is a list of all edit tags that affect the score somehow, available since Huggle 3.1.17
score-tags:
    bad external: 100
    Huggle: -2000
    Twinkle: -2000
    Possible vandalism: 800

##############################################################################
# Reverting and templates
# Configuration of reverting and various templates
##############################################################################
# Specify type of headings to use when sending a message to user
# standard will use text in "template-header"
# page will use page in question as header
# none will not use any headers
headings: standard

# Use for "standard" headers. Uncomment if you want to change it
# template-header: "Your edits to $1"

# List of tags supported by a wiki, please keep in mind that "tag" is a bit historical term, they are in fact templates
tags: [advert, autobiography, BLP PROD, cleanup, coi, confusing, context, copyedit, disputed, essay-like, expand, expert, hoax, in-universe, internallinks, introrewrite, nofootnotes, non-free, notability, 'notenglish|INSERT LANGUAGE NAME', npov, original research, orphan, plot, primarysources, prose, refimprove, sections, tone, tooshort, totally-disputed, uncategorized, underconstruction, unencyclopedic, unreferenced, update, wikify]

# Optional description of individual tags to show in Huggle's tag form
tags-info:
    advert: info='Looks like advertisement' param=test
    autobiography: info='Looks like an auto-bio'
    cleanup: info="Needs cleanup <obsolete don't use>"
    coi: info='Conflict of interest'
    context: info='Page is missing context'

# User needs to confirm they want to revert user who is on whitelist
confirm-ignored: true
# User must confirm revert of multiple edits
confirm-multiple: false
# To be implemented (probably revert of page creator?)
confirm-page: true
# To be implemented (probably revert that leads to same version of text)
confirm-same: true
# User must confirm if they want to revert themselves
confirm-self-revert: true
# To be implemented (probably revert of user who is warned? makes no sense :))
confirm-warned: false

# Default summary for software rollback, eg. using manual revert instead of rollback functionality provided my MW
manual-revert-summary: 'Reverted edits by [[Special:Contributions/$1|$1]] to last revision by $2'
# Not currently in use - might be implemented in future
multiple-revert-summary-parts: "Reverted,edit by,edits by,and,other users,to last revision by,to an older version by"

# List of warning types, these will be present in dropdown menus in Huggle, allowing to clarify reasons for revert.
# Default configuration contains only 1 type of warning, with 3 examples that are commented
warning-types:
    warning: Vandalism
#    spam: Spam
#    test: Editing tests
#    delete: Removal of content

# Default warning template to use, it must be one of these defined in "warning-types".
default-template: warning

# Summaries associated with warning types, each warning type should have one
revert-summaries:
    warning: 'Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]): nonconstructive edits'
#    delete: 'Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]): unexplained content removal'
#    spam: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]): spam"
#    test: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]): editing tests"

# Not currently in use as there is too many default summaries :) we need to figure out which are really not needed and get rid of them
# rollback-summary: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]) to last revision by $2"

# This is actual default summary that is used for rollback in case reason is not specified
default-summary: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]) to last revision by $2"
# To be implemented - rollback summary used in case that target revision is unknown
rollback-summary-unknown: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]])"
# To be implemented - for revert of current revision only
single-revert-summary: "Undid edit by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]])"
# Used when undoing own edit
undo-summary: "Undoing own edit"
# Edit summary for warning deliveries, $1 is name of page related to warning
warn-summary: "Message re. [[$1]]"
warn-summary-2: "Level 2 warning re. [[$1]]"
warn-summary-3: "Level 3 warning re. [[$1]]"
warn-summary-4: "Level 4 warning re. [[$1]]"

# Template clues for parser that Huggle is looking for, each warning level needs to have some of these so that
# it's possible to figure out which warning level the template resembles.
# It can be any part of the template, on English wikipedia templates have invisible comments in them which clarify
# the warning level. It can be however any part of the template, such as image, or piece of text.
warning-template-tags:
    - '1;<!-- Template:uw-vandalism1 -->'
    - '2;<!-- Template:uw-vandalism2 -->'
    - '3;<!-- Template:uw-vandalism3 -->'
    - '4;<!-- Template:uw-vandalism4 -->'

# Whether this project supports "instant warnings" these are templates that trigger level 4 instantly, used for obvious vandals
warning-im: true
# How many warning levels to use. Currently it's only supported to use 3 or 4, but plans are to make this completely dynamic.
warning-mode: 4

# Definitions of warning templates - these are messages that are delivered to user who is about to receive a warning.
# $1 = name of page, $2 = URL to diff

warning1: '{{subst:huggle/warn-1|1=$1|2=$2}}'
warning2: '{{subst:huggle/warn-2|1=$1|2=$2}}'
warning3: '{{subst:huggle/warn-3|1=$1|2=$2}}'
warning4: '{{subst:huggle/warn-4|1=$1|2=$2}}'
warning4im: '{{subst:huggle/warn-4im|1=$1|2=$2}}'

#spam1: '{{subst:huggle/warn-1|1=$1|2=$2}}'
#spam2: '{{subst:huggle/warn-2|1=$1|2=$2}}'
#spam3: '{{subst:huggle/warn-3|1=$1|2=$2}}'
#spam4: '{{subst:huggle/warn-4|1=$1|2=$2}}'
#spam4im: '{{subst:huggle/warn-4im|1=$1|2=$2}}'

#delete1: '{{subst:huggle/warn-1|1=$1|2=$2}}'
#delete2: '{{subst:huggle/warn-2|1=$1|2=$2}}'
#delete3: '{{subst:huggle/warn-3|1=$1|2=$2}}'
#delete4: '{{subst:huggle/warn-4|1=$1|2=$2}}'
#delete4im: '{{subst:huggle/warn-4im|1=$1|2=$2}}'

#test1: '{{subst:huggle/warn-1|1=$1|2=$2}}'
#test2: '{{subst:huggle/warn-2|1=$1|2=$2}}'
#test3: '{{subst:huggle/warn-3|1=$1|2=$2}}'
#test4: '{{subst:huggle/warn-4|1=$1|2=$2}}'
#test4im: '{{subst:huggle/warn-4im|1=$1|2=$2}}'

# Welcoming of users
# All welcome templates are expected not to contain four tildes, signatures are appended by Huggle

# List of templates for dropdown menu
# $1 will substitute to name of target user (since Huggle 3.3.3)
welcome-messages:
    "Welcome with menu": '{{subst:WelcomeMenu}}'
    "Welcome personal": '{{subst:Huggle/Welcome-pers}}'
    "Welcome vandal :)": '{{subst:Huggle/welcomevandal}}'

# Default welcome message for registered users
welcome: '{{subst:welcome}}'
# Welcome message sent to IP users
welcome-anon: '{{subst:welcome-anon}}'
# Edit summary
welcome-summary: 'Welcoming user'

##############################################################################
# Administrator functions
##############################################################################

# Expiry options that will be displayed in block form
block-expiry-options: [15 minutes,3 hours,12 hours,24 hours,31 hours,48 hours,55 hours,72 hours,1 week,2 weeks,1 month,3 months,6 months,1 year,indefinite]
# Default expiry time
blocktime: indefinite
# Default expiry time for anonymous user
blocktime-anon: "24 hours"
# Default message to deliver to user who is getting a block
block-message: '{{subst:huggle/block|1=$1|2=$2}}'
# To be implemented. Default block message for user who is getting indefinite block
# block-message-indef: '{{subst:huggle/block-indef|1=$1}}'
# Default reason for block
block-reason: "[[Project:Vandalism|Vandalism]]"
# Edit summary used when editing user talk page
block-summary: "Notification: Blocked"

# Default reason for page protection
protection-reason: 'Vandalism'

deletion-reasons:
    - 'Patent nonsense'
    - 'Test page'
    - 'Vandalism'

##############################################################################
# Classification
##############################################################################

months:
  - January
  - February
  - March
  - April
  - May
  - June
  - July
  - August
  - September
  - October
  - November
  - December

# These are needed especially for wikis where months in signatures are not same as these in months
# every line is a YAML array for 1 month, for example:
# - ['January','Jan','J.','1.']
alternative-months:
  - [1.,Jan]
  - [2.,Feb]
  - [3.,Mar]
  - [4.,Apr]
  - [5.,May]
  - [6.,Jun]
  - [7.,Jul]
  - [8.,Aug]
  - [9.,Sep]
  - [10.,Oct]
  - [11.,Nov]
  - [12.,Dec]

assisted-summaries:
    - 'using [[Project:AutoWikiBrowser|AWB]]'
    - 'using [[Wikipedia:STiki||STiki]]'
    - 'Using [[WP:TWINKLE|Twinkle]]'
    - 'using [[WP:TW|TW]]'
    - 'using [[WP:TWINKLE|TW]]'
    - '([[WP:TW|TW]])'

page-blanked-pattern: '(\[\[(Wikipedia|WP):(AES|Automatic edit summaries)|(←|Automatic summary)\]\])?(:|←)? ?(Page was blanked|(Blank(ed|ing) the page))\.?'
page-created-pattern: '(\[\[(Wikipedia|WP):(AES|Automatic edit summaries)|(←|Automatic summary)\]\])?(:|←)? ?Created page with .*'
page-redirected-pattern: '(\[\[(Wikipedia|WP):(AES|Automatic edit summaries)|(←|Automatic summary)\]\])?(:|←)? ?(Created page as redirect|Redirect(ed|ing)) to .*'
page-replaced-pattern: '(\[\[(Wikipedia|WP):(AES|Automatic edit summaries)|(←|Automatic summary)\]\])?(:|←)? ?(Page was replaced|Replac(ed|ing) (page|content)) with .*'

revert-patterns:
    - 'automatically reverting .*'
    - 'bot - (rv|revert) .*'
    - 'bot--revert.*'
    - 'js: revert .*'
    - '^[rR]evert.*'
    - '.*\[\[Help:Reverting\|Reverted\]\] edits by.*'
    - '^rv .*'
    - '^[Uu]ndid .*'
    - '^[Uu]ndo .*'
    - '.* [Uu]ndid revision [\d]+ by .*'

shared-ip-templates:
    - sharedip
    - vandalip

tag-summaries:
    - '^prod$'
    - 'prod .'
    - '[\{:]prod'
    - 'prod[\}\-:2]'
    - '(nominated|prodding|proposed) for deletion'
    - '^tag$'

##############################################################################
# Queue list
##############################################################################

queues:
    'Filtered edits':
        filter-ignored: exclude
        filter-notifications: exclude
        filter-own-userspace: exclude
        filter-reverts: exclude
        filter-tags: exclude
        filter-warnings: exclude

    'Filtered new pages':
        filter-ignored: exclude
        filter-new-pages: require

    'All edits':

    'All new pages':
        filter-new-pages: require

    'Assisted edits':
        filter-assisted: require
        filter-bot: exclude

    'My edits':
        filter-me: require

default-queue: 'default'

# Everything in this list will be ignored if it fully matches the string
ignore:
    - 'Project:Sandbox'

# Everything in this list will be ignored if it partially matches the name
ignore-patterns:
    - '/sandbox'
    - '/common.js'
    - '/common.css'

##############################################################################
# Other
##############################################################################

# Summary used when updating user config page
config-summary: 'Updating configuration'
# These items are visible in "Go" menu in Huggle, first one is name of page on wiki, second is name as seen in Huggle menu
go:
    "Project:Huggle": "Huggle main page"
# Whether patrolling of changes is enabled on the project
patrolling-enabled: true
# This suffix is appended to every single edit message made by huggle
summary: '(HG)'
startup-message-location: "Project:Huggle/Message"
userlist: "Project:Huggle/Users"
userlist-update-summary: "Adding [[Special:Contributions/$1|$1]]"