SponsorBlock
sponsorblock_wiki
https://wiki.sponsor.ajay.app/w/Main_Page
MediaWiki 1.41.0
first-letter
Media
Special
Talk
User
User talk
SponsorBlock
SponsorBlock talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Main Page
0
1
3214
3213
2023-09-23T20:43:37Z
Ajay
1
Move dearrow info
3214
wikitext
text/x-wiki
=== '''Welcome to the SponsorBlock wiki!''' ===
==== Information ====
[[Guidelines]]
[[FAQ]]
[[Community]]
==== DeArrow ====
[[DeArrow]]
[[DeArrow/Guidelines|DeArrow Guidelines]]
===== Developers =====
[[API Docs]]
[[API Docs/DeArrow|DeArrow API Docs]]
More wiki articles on the [https://github.com/ajayyy/SponsorBlock/wiki GitHub Wiki]
===== Quick Links =====
[https://discord.gg/SponsorBlock Discord Server] | [https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org Matrix Link]
[https://crowdin.com/project/sponsorblock Crowdin (Translations)]
[https://github.com/ajayyy/SponsorBlock Github]
[https://sponsor.ajay.app/ Home Page]
__NOTOC__
kco42r4a8d3k4j3v97tv1f1tadq3mpn
User:TheJzoli
2
2
14
2
2021-07-27T21:52:39Z
TheJzoli
6
Protected "[[User:TheJzoli]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
2
wikitext
text/x-wiki
It's ya boi, TheJzoli.
nzktxyltxa0bjtgaortjd4uw28gm1nw
API Docs
0
10
3309
3296
2023-11-03T19:29:36Z
MiniBomba
144
Add categories
3309
wikitext
text/x-wiki
<!-- Formatting Notes:
userID instead of user ID
leave a space after the start of the comment,
public userID & local userID -->{{API Docs}}
If you are looking for DeArrow API Docs, see [[API Docs/DeArrow|its page]].
'''Libraries''': [https://www.npmjs.com/package/sponsorblock-api Node.js], [https://github.com/wasi-master/sponsorblock.py Python], [https://crates.io/crates/sponsor-block Rust], [https://github.com/porjo/sponsorblockgo Go]
<sub>[https://github.com/ajayyy/SponsorBlock/wiki/Webhooks Webhook Docs] | [https://github.com/mchangrh/sb-openapi OpenAPI Docs]</sub>
-----
====='''GET''' <code>/api/skipSegments</code>=====
Get segments for a video.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string,
category: string, // Optional, defaults to "sponsor", can be repeated for multiple categories. [1]
// OR
categories: string[], // Optional [1]
requiredSegment: string, // Segment UUID to require to be retrieved, even if they don't meet the minimum vote threshold. Can be repeated for multiple segments.
// OR
requiredSegments: string[], // Optional, array of required segment UUIDs
actionType: string // Optional, default skip. Can be repeated for multiple types. [3]
// OR
actionTypes: string[] // Optional, array of action types
service: string, // Optional, default is 'YouTube' [2]
}
</syntaxhighlight>
References: <ref name=":0">See [[Types#Category|Types]] for full list of possible categories. To get multiple, create an array with the format <code>["sponsor", intro"]</code>. </ref> <ref name=":1">Service to get segments for. See [[Types#Service|Types]] for supported services</ref> <ref name=":2">Action Types: See [[Types#Action Type|Types]] for possible values. Select multiple with the format <code>["skip","mute]</code></ref>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
segment: float[], //[0, 15.23] start and end time in seconds
UUID: string,
category: string, // [1]
videoDuration: float // Duration of video when submission occurred (to be used to determine when a submission is out of date). 0 when unknown. +- 1 second
actionType: string, // [3]
locked: int, // if submission is locked
votes: int, // Votes on segment
description: string, // title for chapters, empty string for other segments
}]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/skipSegments/:sha256HashPrefix</code>=====
Get segments for a video with extra privacy
<code>sha256HashPrefix</code> is a hash of the YouTube <code>videoID</code>. It should be the first 4 - 32 characters (4 is recommended). This provides extra privacy by potentially finding more than just the video you are looking for since the server will not know exactly what video you are looking for.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
prefix: string, // Can be used instead of path
category: string, // Optional, defaults to "sponsor", can be repeated for multiple categories. [1]
// OR
categories: string[], // Optional, array of categories [1]
requiredSegment: string, // Segment UUID to require to be retrieved, even if they don't meet the minimum vote threshold. Can be repeated for multiple segments.
// OR
requiredSegments: string[], // Optional, array of required segment UUIDs
actionType: string // Optional, default skip. Can be repeated for multiple types. [3]
// OR
actionTypes: string[] // Optional, array of action types [3]
service: string // Optional, default is 'YouTube'. [2]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''Response'''
<syntaxhighlight lang="ts">
[{ // Array of this object
videoID: string,
segments: [{ // Array of this object
segment: float[], // [0, 15.23] start and end time in seconds
UUID: string,
category: string, [1]
actionType: string, // [1]
locked: int, // if segment is locked
votes: int, // votes on segment
videoDuration: int, // Duration of video when submissions occurred
description: string // title for chapters, empty string for other segments
}]
}]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''POST''' <code>/api/skipSegments</code>=====
Create a segment on a video
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string,
startTime: float,
endTime: float,
category: string, // [1]
userID: string, // This should be a randomly generated 30 char string stored locally (not the public one)
userAgent: string, // "Name of Client/Version" or "[BOT] Name of Bot/Version" ex. "Chromium/1.0.0"
service: string, // Optional, default is 'YouTube'. [2]
videoDuration: float, // Optional, duration of video, will attempt to retrieve from the YouTube API if missing (to be used to determine when a submission is out of date)
actionType: string // Optional, default is "skip". [3]
description: string // Chapter title for chapters, must be an empty string or not present for other segment types
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''OR'''
'''Input''' (JSON Body):
<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // This should be a randomly generated 30 character string stored locally (not the public one)
userAgent: string, // "Name of Client/Version" or "[BOT] Name of Bot/Version" ex. "Chromium/1.0.0"
service: string, // Optional, default is 'YouTube'.[2]
videoDuration: float, // Optional, duration of video, will attempt to retrieve from the YouTube API if missing (to be used to determine when a submission is out of date)
segments: [{ // Array of this object
segment: float[], // [0, 15.23] start and end time in seconds
category: string, // [1]
actionType: string // Optional, defaults to "skip". [3]
description: string // Chapter title for chapters, must be an empty string or not present for other segment types
}]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''Response''':
<syntaxhighlight lang="ts">
{ // array of this object
UUID: string, // UUID of submitted segment
category: string, // submitted category [1]
segment: float[] // start and end time of submitted segment
}[]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Rejected by auto moderator (Reason will be sent in the response)
429: Rate Limit (Too many for the same user or IP)
409: Duplicate
-----
====='''POST''' <code>/api/voteOnSponsorTime</code>=====
Vote on a segment or vote to change the category of the segment.
Creators of the segment and VIPs can remove the segment or change the category with only one vote.
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px;">
<div style="font-weight:bold;">VIP voting notes</div>
<div class="mw-collapsible-content">
VIP upvotes will:
* lock the segment
* remove "hidden" property
* remove "shadowHidden" property
</div></div>
'''Input: Normal Vote''' (URL Parameters):
<syntaxhighlight lang="ts">
{
UUID: string, // UUID of the segment being voted on
userID: string, // Local userID
type: int // 0 for downvote, 1 for upvote, 20 to undo vote
}
</syntaxhighlight>
'''OR'''
'''Input: Category Vote''' (URL Parameters):
<syntaxhighlight lang="ts">
{
UUID: string, // UUID of the segment being voted on
userID: string, // Local userID
category: string // Category to change this submission to [1]
} </syntaxhighlight>
References: <ref name=":0" />
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Reason given in request (moderation)
-----
====='''POST''' <code>/api/viewedVideoSponsorTime</code>=====
Add view to segment
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
UUID: string // UUID of segment viewed
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/userInfo</code>=====
Get information about a user
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // local UserID
// OR
publicUserID: string // Public userID
values: string[] // Optional, Values to get from userInfo
// default values are
// ["userID", "userName", "minutesSaved", "segmentCount", "ignoredSegmentCount",
// "viewCount", "ignoredViewCount", "warnings", "warningReason", "reputation",
// "vip", "lastSegmentID"]
// OR
value: string // Optional, Value to get from userInfo, can be repeated for multiple values
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userID: string, // Public userID
userName: string, // Public userID if not set
minutesSaved: float, // Minutes saved
segmentCount: int, // Total number of segments excluding ignored/ hidden segments
ignoredSegmentCount: int, // Total number of ignored/ hidden segments
viewCount: int, // Total number of views excluding view on ignored/ hidden segments
ignoredViewCount: int, // Total number of view on ignored/ hidden segments
warnings: int, // Currently enabled warnings
reputation: float,
vip: int, // VIP status
lastSegmentID: string, // UUID of last submitted segment
permissions: { // Can the user submit segments of this category?
category: boolean // [1]
}
}
</syntaxhighlight>
References: <ref name=":0" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/userStats</code>=====
Get stats for a user
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // local UserID
// OR
publicUserID: string // Public userID
fetchCategoryStats: boolean // default false, display category stats
fetchActionTypeStats: boolean // default false, display type stats
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userID: string // hashed userID
userName: string // userName
overallStats: {
minutesSaved: integer // same as userInfo
segmentCount: integer // same as userInfo
}
// IF CHOSEN
categoryCount: { // # of segments per category
sponsor: integer
intro: integer
outro: integer
interaction: integer
selfpromo: integer
music_offtopic: integer
preview: integer
poi_highlight: integer
filler: integer,
exclusive_access: integer,
chapter: integer
}
// IF CHOSEN
actionTypeCount: { // # of segments per type
skip: integer,
mute: integer,
full: integer,
poi: integer,
chapter: integer
}
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/getViewsForUser</code>=====
Get the number of views a user has on all their segments
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // Local userID
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="js">
{
viewCount: int
}
</syntaxhighlight>
'''Error codes''':
404: Not Found
-----
====='''GET''' <code>/api/getSavedTimeForUser</code>=====
Get the total time saved from all the user's segments
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // Local userID
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
timeSaved: float // In minutes
}
</syntaxhighlight>
'''Error codes''':
404: Not Found
-----
====='''POST''' <code>/api/setUsername</code>=====
Set a username for a userID
'''Input''' (URL Parameters): Setting username for self
<syntaxhighlight lang="ts">
{
userID: string, // Local userID
username: string, // Optional
}
</syntaxhighlight>
'''OR'''
'''Input''' (URL Parameters): Setting username as '''admin'''<syntaxhighlight lang="ts">
{
userID: string, // Public userID
username: string, // Optional
adminUserID: string // Admin's local userID
}
</syntaxhighlight>'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not an admin)
-----
====='''GET''' <code>/api/getUsername</code>=====
Get current username
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // Local userID
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userName: string // Public userID if no username has been set
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/segmentInfo</code>=====
Get information about segments
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
// Only the first 10 entries will be processed
UUID: string, // Can be repeated for multiple segments
// OR
UUIDs: string[] // Looks like ["a...0", "b...1"]
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
videoID: string,
startTime: float,
endTime: float,
votes: int,
locked: int, // Status of lock - If upvoted by a VIP, the segment is locked
UUID: string,
userID: string, // PublicID of submitter
timeSubmitted: int,
views: int, // Number of reported views on the segment
category: string, // [1]
service: string, // [2]
actionType: string, // [3]
videoDuration: int,
hidden: int, // If the segment has 2 downvotes or was downvoted by a VIP
reputation: int, // Reputation of submitter at time of submission
shadowHidden: int, // If the submitter is shadowbanned
hashedVideoID: string, // sha256 hash of the videoID
userAgent: string, // userAgent of the submitter,
description: string // title for chapters, empty string for other segments
}]
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/userID</code>=====
List all users matching the username search
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
username: string, // search string for username
// case sensitive
// minimum for non-exact search is 3 characters, maximum is 64 characters
exact: boolean // searches for exact username with no wildcard at end
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object - maximum 10 results
userName: string,
userID: string
}]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible) or exceed the character limits
404: Not Found
-----
====='''GET''' <code>/api/lockCategories</code>=====
Get locked categories for a video
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string,
actionTypes: string[] // [3]
// default [skip, mute]
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
categories: string[], // [1]
reason: string, // Specified reason for the lock
// Only the most recent reason will be returned
actionTypes: string[] // [3]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/lockCategories/:sha256HashPrefix</code>=====
Get locked categories for a video with extra privacy
<code>sha256HashPrefix</code> is a hash of the YouTube <code>videoID</code>. It should be the first 4 - 32 characters (4 is recommended). This provides extra privacy by potentially finding more than just the video you are looking for. This makes the server not know exactly what video you are looking for.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
prefix: sha256HashPrefix // Optional if not sent through path
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
videoID: string,
hash: string, // The full hash of the videoID
categories": string[], // [1]
reason: string // Specified reason for the lock
}]
</syntaxhighlight>
References: <ref name=":0" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/lockReason</code>=====
Get reason for lock(s)
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string
// Categories to get reasons for, defaults to all [1]
category: string
// OR
categories: string[],
actionTypes: string[] // [3]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
category: string, // category [1]
locked: integer, // status of lock
reason: string, // reason for lock
userID: string, // publicID of locking VIP
userName: string // username of locking VIP
}]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/searchSegments</code>=====
Get all segments of a video based on specified filters. Note: It is suggested that you don't use this for knowing which segments to skip on your client, as thresholds and values that determine which segments are the best change over time. Using [https://wiki.sponsor.ajay.app/index.php/API_Docs#GET_.2Fapi.2FskipSegments /api/skipSegments] ensures that you will always get the best segments.
'''Input''' (URL Parameters) '''OR''' (JSON Body):
<syntaxhighlight lang="ts">
{
// See skipSegments
videoID: string
category: string // [1]
// OR
categories: string[]
actionType: string // [3]
// OR
actionTypes: string[]
service: string // [2]
// End SkipSegments
page: int // Page to start from (default 0)
// Vote/ view thresholds, inclusive, default includes all segments
minVotes: int
maxVotes: int
minViews: int
maxViews: int
// Default true - if false, don't show segments that match type
locked: boolean
hidden: boolean
ignored: boolean // hidden or below vote threshold
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''Response''':
<syntaxhighlight lang="ts">
{
segmentCount: int, // Total number of segments matching query
page: int, // Page number
segments: [{ // Array of this object, max 10
// see segmentInfo
UUID: string,
timeSubmitted: int,
startTime: int,
endTime: int,
category: string, // [1]
actionType: string, // [3]
votes: int,
views: int,
locked: int,
hidden: int,
shadowHidden: int,
userID: string, // UUID of submitter
description: string // title for chapters, empty string for other segments
}]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/status/:value</code>=====
Get status of server
'''Input:''' (URL path)
Can be any key value in response, requests without path will return all values.
'''Response''':
<syntaxhighlight lang="ts">
{
uptime: int, // Uptime of server in seconds
commit: string, // Full SHA hash of latest git commit, development or test
db: int, // Current database version
startTime: int, // Unix time (miliseconds) that request was received
processTime: int, // Delay between DB request made and response received (miliseconds)
redisProcessTime: int, // Delay between redis request made and response received (miliseconds)
loadavg: int[], // 5 and 15 minute loadavg
statusRequests: int, // number of /status requests in the last minute
hostname: string // hostname of current server
}
</syntaxhighlight>
'''Error codes''':
404: Not Found
-----
===Stats Calls===
====='''GET''' <code>/api/getTopUsers</code>=====
'''This endpoint is currently disabled and will always return 404.'''
Get top submitters
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
sortType: int
// 0 for by minutes saved
// 1 for by view count
// 2 for by total submissions
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userNames: string[],
viewCounts: int[],
totalSubmissions: int[],
minutesSaved: float[]
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----'''GET''' <code>/api/getTopCategoryUsers</code>
'''This endpoint is currently disabled and will always return 404.'''
Get top submitters by category
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
sortType: int,
// 0 for by minutes saved
// 1 for by view count
// 2 for by total submissions
category: string // category to fetch stats for
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userNames: string[],
viewCounts: int[],
totalSubmissions: int[],
minutesSaved: float[]
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/getTotalStats</code>=====
Get total stats
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
countContributingUsers: boolean // Optional, default false
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userCount: int, // Only if countContributingUsers was true
activeUsers: int, // Sum of public install stats from Chrome webstore and Firefox addons store
apiUsers: int, // 48-hour active API users (https://github.com/ajayyy/PrivacyUserCount)
viewCount: int,
totalSubmissions: int,
minutesSaved: float
}
</syntaxhighlight>
'''Error codes''':
None
-----
====='''GET''' <code>/api/getDaysSavedFormatted</code>=====
Get days saved by all skips
'''Input''':
<syntaxhighlight lang="ts">
{
Nothing
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
daysSaved: float (2 decimal places)
}
</syntaxhighlight>
'''Error codes''':
None
-----
===VIP Calls===
These can only be called by the users added to the VIP table.
====='''GET''' <code>/api/isUserVIP</code>=====
If the user is a VIP
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string, // Local userID
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
hashedUserID: string, // Public userID
vip: boolean
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''POST''' <code>/api/lockCategories</code>=====
Create a category lock on the video, disallowing further submissions for that category
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // Local userID
categories: string[], // [1]
actionTypes: string[], // [3]
reason: string, // Reason for lock
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Response''':
<syntaxhighlight lang="ts">
{
submitted: string[], // categories [1]
submittedValues: {
actionType: string, // [3]
category: string // [1]
} // array of this object
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
===== '''DELETE''' <code>/api/lockCategories</code>=====
Delete existing category locks on that video
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // Local userID
categories: string[] // [1]
}
</syntaxhighlight>
References: <ref name=":0" />
'''Response''':
<syntaxhighlight lang="ts">
{
message: "Removed lock categories entries for video videoID"
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''POST''' <code>/api/shadowBanUser</code>=====
Shadow banned submissions are hidden for everyone but the IP that originally submitted it. Shadow banning a user shadow bans all future submissions.
User can be re-shadowbanned if segments were not previously hidden
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string, // Public userID of the user you want to shadowBan
adminUserID: string, // Local userID of VIP or Admin
enabled: boolean, // Optional, default true, true to ban and false to unban
unHideOldSubmissions: boolean, // Optional, depends on the enabled parameter, should all previous submissions be (un)hidden as well?
categories: string // Optional, defaults to all categories, in the format "["sponsor", "selfpromo"]" etc...
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
409: Duplicate (User already shadowbanned & unHideOldSubmissions not changed)
-----
===== '''POST''' <code>/api/warnUser</code>=====
Temporary ban that shows a warning asking them to contact us.
If a user is re-warned but there is still a non-expired warning, it is reenabled
'''Input''' (Request Body):
<syntaxhighlight lang="ts"> {
issuerUserID: string, // Issuer userID (Local userID)
userID: string, // Public userID you are warning
reason: string, // Optional
enabled: boolean // Optional, default true
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
409: User already warned
-----
====='''POST''' <code>/api/clearCache</code>=====
Clear redis cache for video.
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
userID: string, // Local userID
videoID: string
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Cache cleared on video videoID (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''POST''' <code>/api/purgeAllSegments</code>=====
Hide all segments on a video without affecting submitters' reputation
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
userID: string, // Local userID
videoID: string,
service: string // Service of video, defaults to YouTube
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''POST''' <code>/api/segmentShift</code>=====
Shift all segments on a video
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // Local userID
startTime: float,
endTime: float
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''POST''' <code>/api/addUserAsTempVIP</code>=====
Add temporary 24 Hour Channel VIP
A user cannot be a VIP of multiple channels, the most recent channel will take precedence and override
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string, // User to grant temp VIP to
adminUserID: string, // Local userID of existing VIP
channelVideoID: string, // videoID of channel to grant VIP on
enabled: string // default "true" Enable or disable VIP status
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Temp VIP added on channel channelName (status code 200)
Temp VIP removed (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
404: Not Found (No channel found for videoID)
409: Duplicate (User is already a permanent VIP)
-----
====='''POST''' <code>/api/feature</code>=====
Add or remove user features
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
userID: string, // User to add or remove features from
adminUserID: string, // Local userID of existing VIP
feature: int, // [4]
enabled: boolean // default "true" Enable or disable feature
}
</syntaxhighlight>
References: <ref name=":4">See [[Types#User_Features|Types]] for a full list of possible user features.</ref>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible or the feature does not exist)
403: Unauthorized (You are not a VIP)
-----
===Admin Calls===
These can only be called by the server administrator, set in the config.
====='''POST''' <code>/api/addUserAsVIP</code>=====
VIPs have extra privileges and their votes count more.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string, // Public userID of the user you want to add to the VIP list
adminUserID: string, // Admin's local userID
enabled: boolean // Optional, to be able to add and remove users (default: false)
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not an admin)
-----
===Legacy API===
https://github.com/ajayyy/SponsorBlock/wiki/Legacy-API
===Local userID vs Public userID===
The local userID should be a randomly generated and saved client side and must be 32 characters (or more). If it is not 32 characters or more, you will not be able to vote or submit. The public userID is what is used as an identifier in the database. This is the local userID with a SHA 256 hash 5000 times.
=== References ===
<references />
__INDEX__
__NEWSECTIONLINK__
[[Category:Developer Reference]]
[[Category:SponsorBlock]]
evmepoe3tsx3nq6a39oat3zzewouha3
User:E.Coli
2
11
11
2021-07-27T21:06:29Z
E.Coli
8
Created page with "Allo!"
11
wikitext
text/x-wiki
Allo!
elj9cv1n8c91skrq1n3ujx93va9f8jm
User:Doomdrvk
2
12
13
12
2021-07-27T21:25:11Z
Doomdrvk
3
Protected "[[User:Doomdrvk]]": My userpage. ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
12
wikitext
text/x-wiki
SponsorBlock VIP (Thats about it)
[https://sb.ltn.fi/userid/b79c84b69d2282f4eb46b95402401cec4b39af9031ae1106bbbd795776eb55c2/ My SB Database Entry]
s71tusdd95yu2kzm1ngq27lwyuyr20n
API Docs/Draft
0
14
947
946
2022-03-31T18:28:53Z
Mchangrh
7
add getVideoLabels endpoints
947
wikitext
text/x-wiki
<!-- Formatting Notes:
userID instead of user ID
leave a space after the start of the comment,
public userID & local userID -->
If you end up using the API, I'd love to know about how you're using it. Tell me about it by making a GitHub issue or emailing me :)
The API and database follow [https://github.com/ajayyy/SponsorBlock/wiki/Database-and-API-License this license] unless you have explicit permission. [https://gist.github.com/ajayyy/4b27dfc66e33941a45aeaadccb51de71 Attribution Template]
Public API available at https://sponsor.ajay.app.
<sub>While this is a free unlimited use API, please don't abuse it. I have limited resources.</sub>
Database download: https://sponsor.ajay.app/database
'''Libraries''': [https://www.npmjs.com/package/sponsorblock-api Node.js], [https://github.com/wasi-master/sponsorblock.py Python], [https://crates.io/crates/sponsor-block Rust]
-----Online Database Explorer (By Lartza): https://sb.ltn.fi/
Database Mirror (10 min update time, provided by Lartza): https://sb.ltn.fi/database/
<sub>[https://sponsor.ajay.app/database Database Dump] | [https://github.com/ajayyy/SponsorBlock/wiki/Webhooks Webhook Docs] | [https://github.com/mchangrh/sb-openapi OpenAPI Docs]</sub>
-----
====='''GET''' <code>/api/skipSegments</code>=====
Get segments for a video.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string,
category: string, // Optional, defaults to "sponsor", can be repeated for multiple categories. [1]
// OR
categories: string[], // Optional [1]
requiredSegment: string, // Segment UUID to require to be retrieved, even if they don't meet the minimum vote threshold. Can be repeated for multiple segments.
// OR
requiredSegments: string[], // Optional, array of required segment UUIDs
actionType: string // Optional, default skip. Can be repeated for multiple types. [3]
// OR
actionTypes: string[] // Optional, array of action types
service: string, // Optional, default is 'YouTube' [2]
}
</syntaxhighlight>
References: <ref name=":0">See [[Types]] for full list of possible categories. To get multiple, create an array with the format <code>["sponsor", intro"]</code>. </ref> <ref name=":1">Service to get segments for. See [https://wiki.sponsor.ajay.app/w/Types#service Types] for supported services</ref> <ref name=":2">Action Types: See [[Types]] for possible values. Select multiple with the format <code>["skip","mute]</code></ref>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
segment: float[], //[0, 15.23] start and end time in seconds
UUID: string,
category: string,
videoDuration: float // Duration of video when submission occurred (to be used to determine when a submission is out of date). 0 when unknown. +- 1 second
actionType: string // actionType [3]
userID: string, // public userID of submitter
locked: int, // if submission is locked
votes: int, // Votes on segment
description: string, // unused
}]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/skipSegments/:sha256HashPrefix</code>=====
Get segments for a video with extra privacy
<code>sha256HashPrefix</code> is a hash of the YouTube <code>videoID</code>. It should be the first 4 - 32 characters (4 is recommended). This provides extra privacy by potentially finding more than just the video you are looking for since the server will not know exactly what video you are looking for.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
prefix: string, // Can be used instead of path
category: string, // Optional, defaults to "sponsor", can be repeated for multiple categories. [1]
// OR
categories: string[], // Optional, array of categories [1]
requiredSegment: string, // Segment UUID to require to be retrieved, even if they don't meet the minimum vote threshold. Can be repeated for multiple segments.
// OR
requiredSegments: string[], // Optional, array of required segment UUIDs
actionType: string // Optional, default skip. Can be repeated for multiple types. [3]
// OR
actionTypes: string[] // Optional, array of action types [3]
service: string // Optional, default is 'YouTube'. [2]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''Response'''
<syntaxhighlight lang="ts">
[{ // Array of this object
videoID: string,
hash: string, // Full hash of the videoID
segments: [{ // Array of this object
segment: float[], // [0, 15.23] start and end time in seconds
UUID: string,
category: string, [1]
actionType: string, // [1]
locked: int, // if segment is locked
votes: int, // votes on segment
videoDuration: int, // Duration of video when submissions occurred
userID: string, // Public userID of submitter
description: string // unused
}]
}]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''POST''' <code>/api/skipSegments</code>=====
Create a segment on a video
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string,
startTime: float,
endTime: float,
category: string, // [1]
userID: string, // This should be a randomly generated UUID stored locally (not the public one)
userAgent: string, // "Name of Client/Version" or "[BOT] Name of Bot/Version" ex. "Chromium/1.0.0"
service: string, // Optional, default is 'YouTube'. [2]
videoDuration: float, // Optional, duration of video, will attempt to retrieve from the YouTube API if missing (to be used to determine when a submission is out of date)
actionType: string // Optional, default is "skip". [3]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''OR'''
'''Input''' (JSON Body):
<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // This should be a randomly generated UUID stored locally (not the public one)
userAgent: string, // "Name of Client/Version" or "[BOT] Name of Bot/Version" ex. "Chromium/1.0.0"
service: string, // Optional, default is 'YouTube'.[2]
videoDuration: float, // Optional, duration of video, will attempt to retrieve from the YouTube API if missing (to be used to determine when a submission is out of date)
segments: [{ // Array of this object
segment: float[], // [0, 15.23] start and end time in seconds
category: string, // [1]
actionType: string // Optional, defaults to "skip". [3]
}]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''Response''':
<syntaxhighlight lang="ts">
{ // array of this object
UUID: string, // UUID of submitted segment
category: string, // submitted category [1]
segment: float[] // start and end time of submitted segment
}[]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Rejected by auto moderator (Reason will be sent in the response)
429: Rate Limit (Too many for the same user or IP)
409: Duplicate
-----
====='''POST''' <code>/api/voteOnSponsorTime</code>=====
Vote on a segment or vote to change the category of the segment.
Creators of the segment and VIPs can remove the segment or change the category with only one vote.
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px;">
<div style="font-weight:bold;">VIP voting notes</div>
<div class="mw-collapsible-content">
VIP upvotes will:
* lock the segment
* remove "hidden" property
* remove "shadowHidden" property
</div></div>
'''Input: Normal Vote''' (URL Parameters):
<syntaxhighlight lang="ts">
{
UUID: string, // UUID of the segment being voted on
userID: string, // Local userID
type: int // 0 for downvote, 1 for upvote, 20 to undo vote
}
</syntaxhighlight>
'''OR'''
'''Input: Category Vote''' (URL Parameters):
<syntaxhighlight lang="ts">
{
UUID: string, // UUID of the segment being voted on
userID: string, // Local userID
category: string // Category to change this submission to [1]
} </syntaxhighlight>
References: <ref name=":0" />
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Reason given in request (moderation)
-----
====='''POST''' <code>/api/viewedVideoSponsorTime</code>=====
Add view to segment
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
UUID: string // UUID of segment viewed
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/userInfo</code>=====
Get information about a user
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // local UserID
// OR
publicUserID: string // Public userID
values: string[] // Optional, Values to get from userInfo
// default values are
// ["userID", "userName", "minutesSaved", "segmentCount", "ignoredSegmentCount",
// "viewCount", "ignoredViewCount", "warnings", "warningReason", "reputation",
// "vip", "lastSegmentID"]
// OR
value: string // Optional, Value to get from userInfo, can be repeated for multiple values
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userID: string, // Public userID
userName: string, // Public userID if not set
minutesSaved: float, // Minutes saved
segmentCount: int, // Total number of segments excluding ignored/ hidden segments
ignoredSegmentCount: int, // Total number of ignored/ hidden segments
viewCount: int, // Total number of views excluding view on ignored/ hidden segments
ignoredViewCount: int, // Total number of view on ignored/ hidden segments
warnings: int, // Currently enabled warnings
reputation: float,
vip: int, // VIP status
lastSegmentID: string // UUID of last submitted segment
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/userStats</code>=====
Get stats for a user
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // local UserID
// OR
publicUserID: string // Public userID
fetchCategoryStats: boolean // default false, display category stats
fetchActionTypeStats: boolean // default false, display type stats
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userID: string // hashed userID
userName: string // userName
overallStats: {
minutesSaved: integer // same as userInfo
segmentCount: integer // same as userInfo
}
// IF CHOSEN
categoryCount: { // # of segments per category
sponsor: integer
intro: integer
outro: integer
interaction: integer
selfpromo: integer
music_offtopic: integer
preview: integer
poi_highlight: integer
filler: integer,
exclusive_access: integer
}
// IF CHOSEN
actionTypeCount: { // # of segments per type
skip: integer,
mute: integer,
full: integer,
poi: integer
}
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/getViewsForUser</code>=====
Get the number of views a user has on all their segments
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // Local userID
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="js">
{
viewCount: int
}
</syntaxhighlight>
'''Error codes''':
404: Not Found
-----
====='''GET''' <code>/api/getSavedTimeForUser</code>=====
Get the total time saved from all the user's segments
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // Local userID
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
timeSaved: float // In minutes
}
</syntaxhighlight>
'''Error codes''':
404: Not Found
-----
====='''POST''' <code>/api/setUsername</code>=====
Set a username for a userID
'''Input''' (URL Parameters): Setting username for self
<syntaxhighlight lang="ts">
{
userID: string, // Local userID
username: string, // Optional
}
</syntaxhighlight>
'''OR'''
'''Input''' (URL Parameters): Setting username as '''admin'''<syntaxhighlight lang="ts">
{
userID: string, // Public userID
username: string, // Optional
adminUserID: string // Admin's local userID
}
</syntaxhighlight>'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not an admin)
-----
====='''GET''' <code>/api/getUsername</code>=====
Get current username
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string // Local userID
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userName: string // Public userID if no username has been set
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/segmentInfo</code>=====
Get information about segments
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
// Only the first 10 entries will be processed
UUID: string, // Can be repeated for multiple segments
// OR
UUIDs: string[] // Looks like ["a...0", "b...1"]
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
videoID: string,
startTime: float,
endTime: float,
votes: int,
locked: int, // Status of lock - If upvoted by a VIP, the segment is locked
UUID: string,
userID: string, // PublicID of submitter
timeSubmitted: int,
views: int, // Number of reported views on the segment
category: string, // [1]
service: string, // [2]
videoDuration: int,
hidden: int, // If the segment has 2 downvotes or was downvoted by a VIP
reputation: int, // Reputation of submitter at time of submission
shadowHidden: int, // If the submitter is shadowbanned
userAgent: string // userAgent of the submitter,
actionType: string // [3]
}]
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/userID</code>=====
List all users matching the username search
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
username: string, // search string for username
// case sensitive
// minimum for non-exact search is 3 characters, maximum is 64 characters
exact: boolean // searches for exact username with no wildcard at end
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object - maximum 10 results
userName: string,
userID: string
}]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible) or exceed the character limits
404: Not Found
-----
====='''GET''' <code>/api/lockCategories</code>=====
Get locked categories for a video
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string,
actionTypes: string[] // [3]
// default [skip, mute]
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
categories: string[], // [1]
reason: string, // Specified reason for the lock
// Only the most recent reason will be returned
actionTypes: string[] // [3]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/lockCategories/:sha256HashPrefix</code>=====
Get locked categories for a video with extra privacy
<code>sha256HashPrefix</code> is a hash of the YouTube <code>videoID</code>. It should be the first 4 - 32 characters (4 is recommended). This provides extra privacy by potentially finding more than just the video you are looking for. This makes the server not know exactly what video you are looking for.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
prefix: sha256HashPrefix // Optional if not sent through path
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
videoID: string,
hash: string, // The full hash of the videoID
categories": string[], // [1]
reason: string // Specified reason for the lock
}]
</syntaxhighlight>
References: <ref name=":0" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/lockReason</code>=====
Get reason for lock(s)
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string
// Categories to get reasons for, defaults to all [1]
category: string
// OR
categories: string[],
actionTypes: string[] // [3]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
category: string, // category [1]
locked: integer, // status of lock
reason: string, // reason for lock
userID: string, // publicID of locking VIP
userName: string // username of locking VIP
}]
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/searchSegments</code>=====
Get all segments of a video based on specified filters. Note: It is suggested that you don't use this for knowing which segments to skip on your client, as thresholds and values that determine which segments are the best change over time. Using [https://wiki.sponsor.ajay.app/index.php/API_Docs#GET_.2Fapi.2FskipSegments /api/skipSegments] ensures that you will always get the best segments.
'''Input''' (URL Parameters) '''OR''' (JSON Body):
<syntaxhighlight lang="ts">
{
// See skipSegments
videoID: string
category: string // [1]
// OR
categories: string[]
actionType: string // [3]
// OR
actionTypes: string[]
service: string // [2]
// End SkipSegments
page: int // Page to start from (default 0)
// Vote/ view thresholds, inclusive, default includes all segments
minVotes: int
maxVotes: int
minViews: int
maxViews: int
// Default true - if false, don't show segments that match type
locked: boolean
hidden: boolean
ignored: boolean // hidden or below vote threshold
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":1" /> <ref name=":2" />
'''Response''':
<syntaxhighlight lang="ts">
{
segmentCount: int, // Total number of segments matching query
page: int, // Page number
segments: [{ // Array of this object, max 10
// see segmentInfo
UUID: string,
timeSubmitted: int,
startTime: int,
endTime: int,
category: int, // [1]
actionType: int, // [3]
votes: int,
views: int,
locked: int,
hidden: int,
shadowHidden: int,
userID: string, // UUID of submitter
}]
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/status/:value</code>=====
Get status of server
'''Input:''' (URL path)
Can be any key value in response, requests without path will return all values.
'''Response''':
<syntaxhighlight lang="ts">
{
uptime: int, // Uptime of server in seconds
commit: string, // Full SHA hash of latest git commit, development or test
db: int, // Current database version
startTime: int, // Unix time that request was received
processTime: int, // Seconds between startTime and sending response
loadavg: int[], // 5 and 15 minute loadavg
statusRequests: int // number of /status requests in the last minute
}
</syntaxhighlight>
'''Error codes''':
404: Not Found
-----
====='''GET''' <code>/api/videoLabels</code>=====
Get full-video labels for a video.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
videoID: string,
service: string, // Optional, default is 'YouTube' [2]
}
</syntaxhighlight>
References: <ref name=":1">Service to get segments for. See [https://wiki.sponsor.ajay.app/w/Types#service Types] for supported services</ref>
'''Response''':
<syntaxhighlight lang="ts">
[{ // Array of this object
segment: float[], // [0, 0] start and end time in seconds, always 0 and 0
UUID: string,
category: string [1],
videoDuration: float // Duration of video when submission occurred (to be used to determine when a submission is out of date). 0 when unknown. +- 1 second
actionType: full // will always be actionType full
userID: string, // public userID of submitter
locked: int, // if submission is locked
votes: int, // Votes on segment
description: string, // unused
}]
</syntaxhighlight>
References: <ref name=":0" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/videoLabels/:sha256HashPrefix</code>=====
Get full-video labels for a video with extra privacy
<code>sha256HashPrefix</code> is a hash of the YouTube <code>videoID</code>. It should be the first 4 - 32 characters (4 is recommended). This provides extra privacy by potentially finding more than just the video you are looking for since the server will not know exactly what video you are looking for.
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
prefix: string, // Can be used instead of path
service: string // Optional, default is 'YouTube'. [2]
}
</syntaxhighlight>
References: <ref name=":1" />
'''Response'''
<syntaxhighlight lang="ts">
[{ // Array of this object
videoID: string,
hash: string, // Full hash of the videoID
segments: [{ // Array of this object
segment: float[], // [0, 0] start and end time in seconds, always 0, 0
UUID: string,
category: string, [1]
actionType: full, // always actionType full
locked: int, // if segment is locked
votes: int, // votes on segment
videoDuration: int, // Duration of video when submissions occurred
userID: string, // Public userID of submitter
description: string // unused
}]
}]
</syntaxhighlight>
References: <ref name=":0" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
===Stats Calls ===
====='''GET''' <code>/api/getTopUsers</code>=====
Get top submitters
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
sortType: int
// 0 for by minutes saved
// 1 for by view count
// 2 for by total submissions
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userNames: string[],
viewCounts: int[],
totalSubmissions: int[],
minutesSaved: float[]
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----'''GET''' <code>/api/getTopCategoryUsers</code>
Get top submitters by category
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
sortType: int,
// 0 for by minutes saved
// 1 for by view count
// 2 for by total submissions
category: string // category to fetch stats for
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userNames: string[],
viewCounts: int[],
totalSubmissions: int[],
minutesSaved: float[]
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
====='''GET''' <code>/api/getTotalStats</code>=====
Get total stats
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
countContributingUsers: boolean // Optional, default false
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
userCount: int, // Only if countContributingUsers was true
activeUsers: int, // Sum of public install stats from Chrome webstore and Firefox addons store
apiUsers: int, // 48-hour active API users (https://github.com/ajayyy/PrivacyUserCount)
viewCount: int,
totalSubmissions: int,
minutesSaved: float
}
</syntaxhighlight>
'''Error codes''':
None
-----
====='''GET''' <code>/api/getDaysSavedFormatted</code>=====
Get days saved by all skips
'''Input''':
<syntaxhighlight lang="ts">
{
Nothing
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
daysSaved: float (2 decimal places)
}
</syntaxhighlight>
'''Error codes''':
None
-----
=== VIP Calls===
These can only be called by the users added to the VIP table.
====='''GET''' <code>/api/isUserVIP</code>=====
If the user is a VIP
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string, // Local userID
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
hashedUserID: string, // Public userID
vip: boolean
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
===== '''POST''' <code>/api/lockCategories</code>=====
Create a category lock on the video, disallowing further submissions for that category
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // Local userID
categories: string[], // [1]
actionTypes: string[], // [3]
reason: string, // Reason for lock
}
</syntaxhighlight>
References: <ref name=":0" /> <ref name=":2" />
'''Response''':
<syntaxhighlight lang="ts">
{
submitted: string, // categories
submittedValues: {
actionType: actionType,
category: category
} // array of this object
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''DELETE''' <code>/api/lockCategories</code>=====
Delete existing category locks on that video
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // Local userID
categories: string[] // [1]
}
</syntaxhighlight>
References: <ref name=":0" />
'''Response''':
<syntaxhighlight lang="ts">
{
message: "Removed lock categories entrys for video videoID"
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''POST''' <code>/api/shadowBanUser</code>=====
Shadow banned submissions are hidden for everyone but the IP that originally submitted it. Shadow banning a user shadow bans all future submissions.
User can be re-shadowbanned if segments were not previously hidden
'''Input''' (URL Parameters):
<syntaxhighlight lang="ts">
{
userID: string, // Public userID of the user you want to shadowBan
adminUserID: string, // Local userID of VIP or Admin
enabled: boolean, // Optional, default true, enable or disable ban
unHideOldSubmissions: boolean, // Optional, should all previous submissions be banned as well?
categories: string // Optional, defaults to all categories, in the format "["sponsor", "selfpromo"]" etc...
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
409: Duplicate (User already shadowbanned & unHideOldSubmissions not changed)
-----
====='''POST''' <code>/api/warnUser</code>=====
Temporary ban that shows a warning asking them to contact us.
If a user is re-warned but there is still a non-expired warning, it is reenabled
'''Input''' (Request Body):
<syntaxhighlight lang="ts"> {
issuerUserID: string, // Issuer userID (Local userID)
userID: string, // Public userID you are warning
enabled: boolean // Optional, default true
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
409: User already warned
-----
====='''POST''' <code>/api/clearCache</code>=====
Clear redis cache for video.
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
userID: string, // Local userID
videoID: string
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Cache cleared on video videoID (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''POST''' <code>/api/purgeAllSegments</code>=====
Hide all segments on a video without affecting submitters' reputation
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
userID: string, // Local userID
videoID: string,
service: string // Service of video, defaults to YouTube
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''POST''' <code>/api/segmentShift</code>=====
Shift all segments on a video
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // Local userID
startTime: float,
endTime: float
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
-----
====='''POST''' <code>/api/addUserAsTempVIP</code>=====
Add temporary 24 Hour Channel VIP
A user cannot be a VIP of multiple channels, the most recent channel will take precedence and override
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
userID: string, // User to grant temp VIP to
adminUserID: string, // Local userID of existing VIP
channelVideoID: string, // videoID of channel to grant VIP on
enabled: string // default "true" Enable or disable VIP status
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Temp VIP added on channel channelName (status code 200)
Temp VIP removed (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
404: Not Found (No channel found for videoID)
409: Duplicate (User is already a permanent VIP)
-----
===Admin Calls===
These can only be called by the server administrator, set in the config.
====='''POST''' <code>/api/addUserAsVIP</code>=====
VIPs have extra privileges and their votes count more.
'''Input''' (Request Body):
<syntaxhighlight lang="ts">
{
userID: string, // Public userID of the user you want to add to the VIP list
adminUserID: string, // Admin's local userID
enabled: boolean // Optional, to be able to add and remove users
}
</syntaxhighlight>
'''Response''':
<syntaxhighlight lang="ts">
{
Nothing (status code 200)
}
</syntaxhighlight>
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not an admin)
-----
===Legacy API===
https://github.com/ajayyy/SponsorBlock/wiki/Legacy-API
===Local userID vs Public userID===
The local userID should be a randomly generated and saved client side and must be 32 characters (or more). If it is not 32 characters or more, you will not be able to vote or submit. The public userID is what is used as an identifier in the database. This is the local userID with a SHA 256 hash 5000 times.
===References===
<references />
__INDEX__
__NEWSECTIONLINK__
7v8konfoe5w3p61b7dkzw6vwfsh7379
FAQ
0
15
3326
3153
2023-11-03T19:40:44Z
MiniBomba
144
Add categories
3326
wikitext
text/x-wiki
==What are the most frequent mistakes when submitting segments?==
*Not including the segue (smooth verbal transition to the [[Sponsor | sponsor]])
*Submitting [[Sponsor | sponsor]] segments on videos that are either solely about the sponsor '''or''' could show bias towards it (e.g. when using the sponsored product is an essential part of the video's content and the creator voices their opinion, viewers need to be aware of the sponsor disclosure)
*Mistaking [[Unpaid/Self_Promotion | self promotion]] for a sponsorship
*Segments at the very beginning not starting precisely at 0:00, but rather something like 0.0314159 seconds into the video. Similarly, segments not sticking to the exact end of the video when they should.
*Misunderstanding of the [[Intermission/Intro_Animation | intermission]] category. More often than not, it should not contain any spoken words, and it's not meant for just about anything that users find insignificant, like the creator saying "hello."
Please check out [[Advice_for_submitting | this page]] for more tips.
==I noticed an incorrect submission. What should I do?==
The first thing you can do is simply downvote it in the pop-up. If it's just the wrong category but correctly timed, you can select "Wrong Category" after clicking the pencil icon. Additionally, when the timing of an existing segment could be better, submitting your own correct segment in its place may reduce the amount of times the faulty one appears.
If you're on SponsorBlock [https://discord.gg/QnmVMpU Discord server], feel free to report it in the #incorrect-submissions channel, where a [[VIP]] can take a look at it. Even if the video is not in English, you can still give it a shot. Especially if you believe it’s a purposefully malicious spam, we would really like to be notified.
==Why am I getting an error when trying to submit a segment?==
400: Bad Request (Your inputs are wrong/impossible)
*Your segment is maybe 0 seconds long
*There is a minimum length for Sponsor segments
*If the message says "no valid userID", you might not have a valid private userID set - sometimes it might fail to generate on installation. See [https://github.com/ajayyy/SponsorBlock/issues/1606 issue #1606] for more information.
403: Rejected by auto moderator:
*A human moderator has locked the category or the complete video, all the segments that are needed are there and timed perfectly. If there isn't already a segment where you want to add one, try reloading the video. Make sure that you have activated all categories, as the segment you want to add is maybe in the wrong category. The video is locked to prevent spamming of bad segments that need to be removed later.
409: Duplicate: You already submitted this segment, delete the one you can still add and all should be good
==How is “non-music” supposed to co-exist with other categories?==
[[Music:_Non-Music_Section | Non-music]] exists separately from other categories and may overlap with them. In the end, the video should resemble the Spotify or any other mix version as close as possible.
==What are advanced tips for submitting?==
You can find many tips in [[Advice_for_submitting | this article]].
<!--
These are some steps to take if you’re willing to spend a little bit more time to ensure perfect submissions:
*First of all, activate all categories. This ensures that you don't accidentally submit a segment that already exists in an other category.
*When there is a visible transition and a small margin of error, don’t try to get it right with play/pause. Use the "," and "." keys and move frame by frame. Pay attention if the video is 30 or 60 fps. If possible, make your segments start two frames early on 30 fps videos and four frames early on 60 fps videos, so there isn't an annoying bump.
*Segments of different categories that are right next to each other should ''slightly'' overlap. The reason for this is that every segment should be correct and seamless on its own and make sense from a perspective of a user with only one category enabled.
*If you submit a long intermission segment on a live-streamed video, take a look at it after some time. Very often large chunks of such videos are removed afterwards with YouTube trimming tool by the streamer, which messes up the submissions and makes it necessary to delete them.
*When adjusting a non-music segment in the editing box, changing the playback speed to 0.25 allows for much greater precision, letting you place your segment as close to the music as possible without accidentally cutting any of it.
*If the video has subtitles, even auto-generated ones, you can open the transcript and search for keywords. If the creator introduces a sponsor at the beginning of a long video, you could for example search their name or other keywords like "sponsor", "subscribe", etc to check if they're briefly mentioned later.
-->
==How to browse the database and view all my submissions with details?==
*You can view the database and all submissions on this website: https://sb.ltn.fi/ (this should update every 5 minutes)
*You can download the entire database [https://sponsor.ajay.app/database here].
Note: Your public userID in the database is different than your private one in the SponsorBlock options tab.
==Can I edit/remove the segment that I uploaded?==
Once your segment is uploaded, you can still easily remove it or change its category by clicking thumbs down on the skip notice and choosing "Incorrect/Wrong Timing" or "Wrong Category" respectively. In case of your own submissions, your votes will have an immediate effect.
Editing timestamps of submitted segments is not possible, so in order to correct a segment downvote it and submit a new one.
==I think my segment might have been deleted. Why?==
One possibility is that other users downvoted it. If it was removed by a moderator however, possible reasons include:
*Some other submission in that place was a bit better (even if it’s just a fraction of a second, it does make a difference)
*It was against the [[Guidelines]]
*Any mistake mentioned in [[FAQ#What_are_the_most_frequent_mistakes_when_submitting_segments.3F | answer #1]]
==How does voting work and what do certain amounts of votes mean?==
Overlapping segments of the same category don't get shown all at once, but instead compete with each other, appearing to users one at a time. The amount of votes determines how likely your submission is to be shown over the other ones. You can read more about the algorithm and grouping similar segments [https://blog.ajay.app/voting-and-pseudo-randomness-or-sponsorblock-or-youtube-sponsorship-segment-blocker here].
When a submission reaches the score of -2 or lower, it gets removed and will not appear anymore for users, but can still be found in the database. It also takes two votes to change the category of someone else's segment. If you downvote your own segment, it will be immediately removed and you won't lose any reputation.
If a segment has a padlock next to it, it means it has been locked and will be prioritized over any other segment. [[VIP |VIPs']] segments are always locked, due to them being trusted.
==Are there any moderators?==
People with the [[VIP]] permission can moderate submissions. You can recognize them in Discord by their [[VIP]] tag. Learn more [[VIP | here]].
==Can I use SponsorBlock on platforms other than PC?==
Yes. Aside from the web browser extension, there are various third-party ports, including mobile. See the list [https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports here].
==How can I transfer my Vanced userID to the desktop extension?==
Warning: You can only keep one userID, so decide if you want to keep the your extension userID or your Vanced userID. Keep a backup of your private userID in a secure location. If you want to transfer your extension user to Vanced, you will have to reverse the process.
To transfer your userID from Vanced to the extension:
*In Vanced click on your user icon -> settings -> SponsorBlock settings -> "your unique userID"
*Copy this string and save it somewhere
*In your browser, click on the SponsorBlock icon in your toolbar and click on options
*Scroll down to "Import/Export your UserID"
*Back up the current userID and save it somewhere safe in case you want to switch back to it
*Paste your userID there and confirm the changes
*Your userID is now transferred. The popup will show stats based on what you have submitted from Vanced.
Some data cannot be transferred, like segments you've skipped and time you saved others, because it is only saved anonymized.
== What is the mute option when submitting? ==
Normally a segment would just skip to the end. The [[Mute_Segment |mute segment]] will mute the video and play the segment. Once you have reached the end of the segment, the video will be unmuted.
==Can I create skip segments just for myself?==
Yes. If you wish to have skip segments for your personal use, not caring about the rules, just select the timestamps and close the editing box. Make sure not to click "submit". They will be stored locally in your browser and skipped automatically. You can also export them with your options.
== What is considered content?==
Content is any part of the video which someone could find valuable to watch. Finding something a waste of time personally does not mean that someone else wants to skip it.
==Is there any AI involved?==
[https://github.com/andrewzlee/NeuralBlock NeuralBlock] is a neural network that detects in-video YouTube sponsorships, though current implementation within SponsorBlock is limited to a moderation tool which detects incorrect sponsor segments on English videos. Every SponsorBlock segment you see on YouTube has been made by a human (as far as we know).
[[Category:SponsorBlock User Guides]]
lv4kxm5fa01npcnnesywh4778b79gaj
Segment Categories/Archived
0
16
802
800
2022-01-06T06:54:02Z
Mchangrh
7
Mchangrh moved page [[Segment Categories]] to [[Segment Categories/Archived]] without leaving a redirect: Archive
800
wikitext
text/x-wiki
== OUTDATED - PLEASE SEE [[Guidelines]] ==
These are rough descriptions of all categories. They are described in more detail when you follow the link to their page. If you are unsure or the description here is too vague, check out the details, to make sure you submit correctly.
<br>A more visual representation in the form of a flow chart can be found [[Community#Media|in this article]].
=== [[Sponsor]] ===
This is for paid promotion, paid referrals and direct advertisements.
=== [[Unpaid/Self_Promotion | Unpaid/Self Promotion]] ===
This is similar to "sponsor" except for unpaid or self promotion. This includes sections about merchandise, donations, or information about who they collaborated with.
=== [[Interaction_Reminder_(Subscribe) | Interaction Reminder (Subscribe)]] ===
When there is a short reminder to like, subscribe or follow them in the middle of content, use this. If it is long or about something specific, it should be under self promotion instead.
=== [[Intermission/Intro_Animation | Intermission/Intro Animation]] ===
This is an interval without actual content. It could be a pause, static frame, repeating animation. This should not be used for transitions containing information. Typically near the beginning of a video.
=== [[Endcards/Credits | Endcards/Credits]] ===
This is for credits or when the YouTube endcards appear and not for conclusions with information. Typically near the end of a video.
=== [[Preview/Recap | Preview/Recap]] ===
Quick recap of previous episodes, or a preview of what's coming up later in the current video. Meant for edited together clips, not for spoken summaries.
=== [[Filler Tangent]] ===
Tangential scenes added only for filler or humor that are not required to understand the main content of the video. This should not include segments providing context or background details.
=== [[Music:_Non-Music_Section | Music: Non-Music Section]] ===
Only for use in music videos. This only should be used for sections of music videos that aren't already covered by another category.
=== [[Highlight | Highlight]] ===
This is for getting to the point or highlight of the video.
=== [[Mute_Segment | Mute Segment]] ===
Subcategory of [[Sponsor]], [[Unpaid/Self_Promotion | Unpaid/Self Promotion]] and [[Interaction_Reminder_(Subscribe) | Interaction Reminder]]. <br>
Mute segments are for segments that visually contain important information but have audio underneath that belongs in one of the categories. If a segment can be skipped, it should be skipped instead.
4jw6l0k4wr7ak3dhf1ao4irue7r87ij
MediaWiki:Sidebar
8
17
3146
3121
2023-06-14T19:10:41Z
Ajay
1
add api docs link
3146
wikitext
text/x-wiki
* navigation
** mainpage|mainpage-description
** recentchanges-url|recentchanges
** randompage-url|randompage
* SponsorBlock
** Guidelines|Guidelines
** FAQ|FAQ
** API_Docs|API Docs
** Community|Community
** https://github.com/ajayyy/SponsorBlock/wiki|Github Wiki
** https://discord.gg/SponsorBlock|Discord Server
** https://matrix.to/#/#sponsor:ajay.app|Matrix
* DeArrow
** DeArrow/Guidelines|Guidelines
** API_Docs/DeArrow|API Docs
** https://github.com/ajayyy/DeArrow|GitHub
** DeArrow/Community|Community
* SEARCH
* TOOLBOX
* LANGUAGES
tvk7ti81o8h6brtvnzfysa2gd9hbp9n
User:Mchangrh
2
18
1037
777
2022-07-29T06:19:38Z
Mchangrh
7
add same second segments
1037
wikitext
text/x-wiki
Index of tools: https://github.com/mchangrh/sb-tools-index#readme
Segment submitted in the same second
grub & blabdude
https://sb.ltn.fi/video/7KtB6_LeD8U/
[https://discord.com/channels/603643120093233162/609441389423493128/982463323033452604 message link]
AmbreO & blabdude
https://sb.ltn.fi/video/XGB4mU9xh1w/
5pw752rf3pwr2uutejvkxkczh0bxdtf
VIP
0
31
3348
3235
2023-11-03T19:51:25Z
MiniBomba
144
Add categories
3348
wikitext
text/x-wiki
VIP permission allows a user to have moderation-like powers in SponsorBlock. In the [https://sb.ltn.fi/ database explorer] you can recognize them by the 👑 (crown) next to their votes. On the [https://discord.gg/QnmVMpU discord] you can recognize them by their VIP role and maybe a green or light-green colored username.
==Moderating segments==
VIP downvotes and upvotes have more power. Downvotes will remove segments immediately.
VIP submitted or upvoted segments will be locked by default. These segments will always be shown instead of similarly timed but unlocked segments and can only be removed by other VIPs. In the [https://sb.ltn.fi/ database explorer], locked segments can be identified by a 🔒 (lock) icon next to the number of votes.
VIPs can also lock categories on videos to prevent future submissions for one or more categories and action types. This is typically done to prevent future submissions if there are no missing segments for that category and all existing segments are perfectly timed. Usually, Highlights and Filler are not locked as those categories are more subjective.
If you think a VIP has made a mistake, send a link to the video along with a brief explanation to the #incorrect-submissions channel in the [https://discord.gg/QnmVMpU discord].
==Moderating users==
Users can be moderated in two ways: bans and warnings.
Warnings are issued to users who make common mistakes when submitting segments. Upon trying to submit their next segment or voting on a segment they will receive a popup prompting them to ask about their warning on [https://discord.gg/QnmVMpU discord] or [https://matrix.to/#/+sponsorblock:ajay.app Matrix].
A ban is always approved by at least two VIPs. The ban may also entail the removal of all submissions.
Behavior that will result in a ban consists of but is not limited to:
*Malicious segments such as:
**Censoring certain people regardless of what they did or who they are.
**Censoring a part of a video containing information which is not a sponsor or other valid segment. (Politics, Religion, etc).
**Submitting segments to stop people from viewing creators.
**Vandalizing a video by submitting many incorrect segments, making the video hard to watch.
*Submitting segments that are consistently badly timed. If the segment degrades the [[Guidelines#Reduces_viewer_experience |viewer experience]] because it is badly timed, it shouldn't be there in the first place.
*Submitting segments for sponsors, intros, self-promos, etc. that do not exist.
*Submitting incorrect segments that are absurdly long to try and farm saved time and skips.
==How can I become a VIP?==
Applications for new VIPs are indefinitely paused.<!--
Historical Reference:
You should have been making consistently good segments for more than a month
Good grasp on any category you've made a submission in
Should not have any major mistakes that we would normally issue warnings for (See Guidelines)
# Requesting VIP
Pick up the Requesting To be a VIP role in #help-out on Discord
Create a new thread in #vip-request with your publicID -->
==I am a new VIP. How does stuff work?==
Check [[VIP_Guide|this article]] out.
[[Category:User Guides]]
kfq83ewrgfgzs6p3k01s6g7ynb5eh0j
Talk:Preview/Recap/Hook
1
33
3376
3285
2023-11-07T20:35:43Z
Ajay
1
Ajay moved page [[Talk:Preview/Recap]] to [[Talk:Preview/Recap/Hook]]
3285
wikitext
text/x-wiki
While helpful, I don't think irrelevant context is as necessary, and can be added in as a citation or a note afterwards for people who care
ex: "This is a fast compilation of clips from previous episodes accompanied with classical music." can simply be shortened to:
"This is a compilation/montage of clips from previous episodes" - [[User:Mchangrh|Mchangrh]]
9nkpngc660rglj2np5va56j94rc7vpr
Outro
0
34
168
2021-08-08T18:13:41Z
TheJzoli
6
Redirected page to [[Endcards/Credits]]
168
wikitext
text/x-wiki
#REDIRECT [[Endcards/Credits]]
nunnzrz40mnhtc6zijr433k3okbpp49
Intro
0
35
169
2021-08-08T18:14:37Z
TheJzoli
6
Redirected page to [[Intermission/Intro Animation]]
169
wikitext
text/x-wiki
#REDIRECT [[Intermission/Intro Animation]]
mstsvxb5coax1l9mbocf68r027688t0
Self Promotion
0
36
175
2021-08-10T14:04:19Z
TheJzoli
6
Redirected page to [[Unpaid/Self Promotion]]
175
wikitext
text/x-wiki
#REDIRECT [[Unpaid/Self Promotion]]
h18nqsvjvq7zed063iqymog95ahz36i
Recap
0
37
3379
177
2023-11-09T16:18:57Z
MiniBomba
144
Fix double redirect
3379
wikitext
text/x-wiki
#REDIRECT [[Preview/Recap/Hook#Recap]]
tmkp3dvnmph5a0t9r3lpxcscm84afvf
Guidelines
0
38
3380
3367
2023-11-09T16:20:05Z
MiniBomba
144
/* Preview/Recap */ Update section name
3380
wikitext
text/x-wiki
= Guidelines =
Users are encouraged to '''downvote''' and '''avoid making''' segments with the following issues:
* Doesn't fit the category it's in
**If the timing is correct, you can click ✏️ and select "Change Category". This needs to be done in the notice that appears after skipping, not the popup.
* Includes information relevant to the main content of the video <ref>This does not apply to [[Filler Tangent]]. See the wiki page for details</ref>
* The whole video is about (or closely related to) the thing you're making a segment on
** If all mentions cannot be cleanly cut or could show bias, don't include the sponsor disclosure and instead submit a [[Full Video Labels|Full Video Label]] for that category.
**Don't make segments covering the entire video
* The transition is poorly timed or not [[Advice for submitting|seamless]]
**Include segues<ref>Sections made specifically to smoothly move into a sponsor or other categories</ref> when possible and exclude any additional or irrelevant content not necessary for a seamless skip
**Seek frame-by-frame with <code>,</code> and <code>.</code> Segments should start '''''before'''''<ref>Test with preview, it's best to start it as early as possible that doesn't include content to account for any lag</ref> the visual change, or a little earlier if needed for audio, and end on the '''''first frame after''''' the segment
**Segments at the start should start at '''''00:00.0''''' and segments at the end should go to the very end of the video <ref>Make sure start segments start at exactly <code>0:0.0</code> . This can be done with the <code>Home</code> Key. Segments going until the end of the video should not end before the actual end. This can be done with the <code>End</code> key and on Vanced, the time might have to be rounded up to the next second</ref>
*Segment that adds onto an existing bad segment. Instead, submit a new segment covering the entire section.
*Skips visuals that does not cover the entire screen (overlays or banners) See [[Mute Segment]]
==== If you have any questions about specifics, feel free to ask in [https://discord.gg/SponsorBlock Discord] or [https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org Matrix] ====
For more specifics on how to make high quality submissions, see [[Advice for submitting]].
= Category Breakdown =
A more visual representation in the form of a flow chart can be found [[Community#Media|in this article]].
== [[Sponsor]] ==
Part of a video promoting a product or service not directly related to the creator. The creator will receive payment or compensation in the form of money or free products.
If the entire video is about the product or service, use a [[Full Video Labels|Full Video Label]].
== [[Interaction Reminder (Subscribe)]] ==
Explicit reminders to like, subscribe or interact with them on any paid or free platform(s) (e.g. click on a video). If about something specific it should be [[Unpaid/Self Promotion]] instead.
Can be bundled with [[Unpaid/Self Promotion|Self Promotion]] into [[Endcards/Credits]]<ref name=":0" />
== [[Unpaid/Self Promotion]] ==
=== Self Promotion ===
Promoting a product or service that is directly related to the creator themselves. This usually includes merchandise or promotion of monetized platforms.
=== Unpaid Promotion ===
The creator will not receive any payment in exchange for this promotion. This includes charity drives or free shout outs for products or other people they like.
Can be bundled into [[Endcards/Credits]]<ref name=":0">If it is '''impossible''' to cleanly cut or overlap the segments, Interactions and Self Promotion can be included in Endcards if they also occur during the outro.</ref>
== [[Intermission/Intro Animation]] ==
Segments typically found at the start of a video that include an animation, still frame or clip which are also seen in other videos by the same creator.
This can include livestream pauses with no content (looping animations or chat windows) and Copyright/ Fair Use disclaimers.
Do not include disclaimers to protect viewers, preparation or cleanup clips and as a rule of thumb, speech should usually not be included.
Do not include skits, time-lapses, slow-motion clips. (Possibly [[Filler Tangent/Jokes|Filler Tangent/ Jokes]])
Do not use this to skip past content to get to the main point of the video. (See [[Highlight]])
== [[Highlight]] ==
Used to get to the point or highlight of a video.
Only submit the highlight with the highest priority. There can only be one highlight per video.
Use cases (from highest to lowest priority):
# Point/ most important part of the video.
# Part of the video referred to by the title.
# Part of the video referred to by the thumbnail.
# Part of the video referenced by a preview/ teaser.
== [[Endcards/Credits|Endcards/Credits (Outro)]] ==
Typically near or at the end of the video when the credits pop up and/or endcards are shown. This should not be based solely on the YouTube annotations.
[[Interaction Reminder (Subscribe)]] or [[Self Promotion]] can be included<ref name=":0" />
== [[Preview/Recap/Hook]] ==
Collection of clips that show what is coming up in in this video or other videos in a series where all information is repeated later in the video.
Do not include clips that only appear in the video or clips from a recapped video that is not directly linked to the current video.
== [[Filler Tangent/Jokes]] ==
Filler Tangent/ Jokes is only for tangential scenes added only for filler or humor that are not required to understand the main content of the video.
This can also include: Timelapses/ [[B-Roll]], Fake Sponsors and slow-motion clips that do not provide any context or are used as replays or B-roll.
== [[Music: Non-Music Section]] ==
Only to be used on videos which feature music as the primary content.
Segments should only include music not present in the official or Spotify music release.
Non-Music exists independently of other categories, so it is okay to overlap it with them.
Make sure to only include complete silence. Boost your audio as much as you can to avoid prematurely including any music.
== [[Full Video Labels|Exclusive Access (Full Video Label Only)]] ==
When the creator showcases a product, service or location that they've received free or subsidised access to in the video that cannot be completely removed by cuts.
== Category Types ==
== [[Mute Segment]] ==
Mute segments are for segments that visually contain important information but have audio underneath that belongs in one of the categories.
If a segment can be skipped, it should be skipped instead.
Mute segments can also be supplements for when visual transitions are not smooth.
== [[Full Video Labels]] ==
* Sponsor
* Exclusive Access
* Unpaid/ Self Promo
== Footnotes ==
<references />
[[Category:SponsorBlock Guidelines| ]]
bqi2o6ua2acaiebsu3yid2aa0ww3vpa
Interaction Reminder (Subscribe)
0
39
3332
3276
2023-11-03T19:43:23Z
MiniBomba
144
Add categories
3332
wikitext
text/x-wiki
__FORCETOC__
=== Description ===
Use this, when there is an explicit reminder to like, subscribe or interact with them on any paid or free platform. If it is about something specific it should be under [[Unpaid/Self Promotion]] instead.
=== Motivation ===
Calls-To-Action never contain useful information. If it could be useful, use [[Unpaid/Self Promotion]] instead.
'''This includes:'''
* Short reminders to Like, Subscribe, Follow, Interact, or watch to the end
**This includes "Pay attention or you'll miss [x] Easter Eggs", playback speed, and repeat requests
* Reacting to messages or donations
*Request for opinions in comments (See Exceptions/ Edge Cases)
=== Exceptions/ Edge Cases ===
# Factual advice should not be included; Opinions or polls should be (See Examples)
#* How can '''''I''''' improve the machine '''''I''''' am building (Factual)
#*If anyone has worked with x before and has '''''advice on proper practices''''', please comment below (Factual)
#*What should we call our new cat (Opinion)
#*If anyone has any suggestions for a name, comment below (Opinion)
===== Not included=====
* On-screen interaction reminders that cannot be skipped without disrupting content. If you manage to make a segment which skips one of these without cutting out content and it doesn't have a bad transition, go ahead and submit it.
** Subscribe button animations.
** Like button animations.
** Notification button animations.
* Answering or reacting to comments
* Talking about something specific:
** an event
** a specific post
** a long-ish explanation
=== Examples ===
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" |Description!! style="width: 1%" |Video Link
|-
! colspan="2" | Positive Examples
|-
| This asks you to subscribe because of future content.||[https://www.youtube.com/watch?v=8PcMlblQS-k&t=235s Intel's beast canyon NUC is crazy powerful]
|-
|He asks to like and subscribe.||[https://www.youtube.com/watch?v=CBjiWmN89Fc&t=170s The gamma key affair: It could have destroyed Mul-T-Lock]
|-
|Content plays in the background during the audio-only interaction reminder. A mute segment works here. Don't mark the request for correction at the end.
|[https://www.youtube.com/watch?v=_iWysC6TIVA A real life alien (minus the acid spit)]
|-
|Reminder to keep watching to the end of the video.
|[https://www.youtube.com/watch?v=ezlkGhFBrmg&t=26s#requiredSegment=12adb2a489b5e0df1df13afe47ff50f7c42f4c30df45268e50005ddbe78716296 I made XCOM in 25 hours (plus special announcement!)]
|-
! colspan="2" |Negative Examples
|-
|Don't submit on screen reminders with content in the background.||[https://www.youtube.com/watch?v=0qeK1T7yrGg&t=27s Welcome to Achievement Island]
|-
|Asking for ways how to improve lava lamps should not be marked. ||[https://www.youtube.com/watch?v=16gB2BDXwTo&t=1340s What exactly is the goop inside a lava lamp?]
|-
|Interaction segment from [https://youtu.be/e94KggaEAr4?t=20 0:22 - 0:35] also contained an intro. Should not be grouped together as a single segment.
|[https://www.youtube.com/watch?v=e94KggaEAr4&t=19s How to move characters in Unity 3D]
|}
[[Category:Segment Categories]]
b29ldo50e41dzykhaaufpma5tupqu4c
Preview/Recap/Hook
0
40
3378
3374
2023-11-07T20:36:48Z
Ajay
1
Add link to Wikipedia article on hook
3378
wikitext
text/x-wiki
== Preview ==
=== Description ===
For segments that show what is coming up in this or future videos of the same series, but do not provide additional information. If it includes clips that only appear here, this is very likely not the right category.
=== Examples ===
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2"|Positive Examples
|-
| These are just clips coming up in the episode. || [https://www.youtube.com/watch?v=1VxWKmnkuI0 VFX Artists React to Bad & Great CGI 49]
|-
| These are just clips coming up in the episode. || [https://www.youtube.com/watch?v=X_JuEjwltgY Top 10 scary Mandela effects]
|-
| In the preview it says "In the next episode" at the bottom and a clip contained in it is played. || [https://www.youtube.com/watch?v=cKOFqSWTNg8&t=1451s TrilluXe reagiert auf realer Irrsin - Umwelt Politikerin fährt dicken Audi A8]
|-
! colspan="2"|Negative Examples
|-
| The clips at the start are partially custom and presented in such a way, that it does not fit preview anymore. || [https://www.youtube.com/watch?v=5SkJdPp35pM I need help with my new house]
|-
|Teasing the content of the next video with voiceover is better as [[Unpaid/Self Promotion|Unpaid/ Self Promotion]]
|[https://www.youtube.com/watch?v=wbbH77rYaa8&t=2081s The birth of photography: Drawing with light (and silver iodide)]
|}
== Hook ==
https://en.wikipedia.org/wiki/Narrative_hook
== Recap ==
=== Description ===
For segments that show what happened in this or past videos of the same series, but do not provide additional information. If it includes clips that only appear here, this is not the right category. If the video that is recapped is not directly linked to the current video, but clips from the recapped video are shown, you shouldn't submit them either, because others have probably not watched the recapped video.
=== Examples ===
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2"|Positive Examples
|-
| A summary of the game's rules and events from the previous episodes, without any additional information added || [https://www.youtube.com/watch?v=jrTIrJmph2A Jet Lag: Tag Across Europe 2, Episode 3]
|-
| "This is a compilation/montage of clips from previous episodes. || [https://www.youtube.com/watch?v=WIe5GKyLPek Digging a secret tunnel part 3]
|-
| In the recap it says "In the prior episode" at the bottom and clips from the previous episode are played. || [https://www.youtube.com/watch?v=u1XffpSrZkw TrilluXe reagiert auf realer Irrsin - Fahrradweg mit Hundwechsel?]
|-
! colspan="2"|Negative Examples
|}
[[Category:Segment Categories]]
93max3e4ig3ffoz0f3jvdswr6rfmmtj
Sponsor
0
41
3343
3257
2023-11-03T19:48:21Z
MiniBomba
144
Add categories
3343
wikitext
text/x-wiki
__FORCETOC__
=== Description ===
{{:Sponsor/Description}}
=== Exceptions/ Edge Cases ===
{{:Sponsor/Exceptions}}
=== Disambiguation ===
{{:Sponsor/Disambiguation}}
=== Examples ===
{{:Sponsor/Examples}}
[[Category:Segment Categories]]
s3g69qgvcupow35qugej3bacs30c6gk
Unpaid/Self Promotion
0
42
3383
3342
2023-11-17T17:53:10Z
YoshiNuss
1399
3383
wikitext
text/x-wiki
__FORCETOC__
=== Description ===
This is for promotions, for which the YouTuber will not receive payment. This also includes the segues used to smoothly transition into and out of the segment. If this is an obvious brief reminder or information, it should be under [[Interaction Reminder (Subscribe)]] instead.
'''This includes:'''
*Merchandise
*Patreon, Channel Memberships, Twitch Subscriptions or any similar monetized platforms
**This includes scrolling lists of financial supporters (Patreon, GitHub Sponsors etc..)
*Videos or playlists
*Charities, products or websites they like
*Information about whom they collaborated with
*Shout-outs with no money exchanged
*Giveaways with no involvement of a 3rd party and the announcement of the winner
**No money exchanged
**Content YouTuber should have full control
**Products should be purchased by the YouTuber
* Asking for paid/free services from their subscribers (fanmail, video clips)
** Just [[Mute_Segment|mute the segment]], if it would cover content.
=== Exceptions/ Edge Cases ===
The decision on whether it should be marked sponsor or unpaid promotion is influenced by several factors.
'''For example:'''
#Did they receive money as well as the product? If so, then it should be marked [[Sponsor]].
#Are they obviously linked with the product they are promoting? If so, then it should be marked Unpaid/ Self Promotion.
#Does the product they are promoting have their branding, similar to merch? If so, then it should be marked Unpaid/ Self Promotion.
If it is '''impossible''' to cleanly cut or overlap the segments, [[Interaction Reminder (Subscribe)|Interaction Reminders]] can be included in Unpaid/ Self Promotion
=== Examples ===
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2" |Positive Examples
|-
| Section promoting another YouTuber who helped blur out vehicle registration plates. || [https://www.youtube.com/watch?v=c32tvSrBNSo&t=597s Eure Videos #159]
|-
| The viewers created and gifted him parts for his machine and received a shout-out for it. || [https://www.youtube.com/watch?v=Jnx7vAMvssI&t=864s Solving the 1000 pieces engineering puzzle]
|-
| He promotes his own shop. || [https://www.youtube.com/watch?v=dIq2BB_5G80&t=65s Honda Metropolitan II Multipurpose Lock picked]
|-
| This is all about his keycaps. It is similar to using a company that produces and sells custom merch. || [https://www.youtube.com/watch?v=bt5ajRZBeYU&t=738s <nowiki>Make your keyboard thock for $3</nowiki>]
|-
|Long and specific interaction reminder about future video and doesn't add any context to the current one.
|[https://www.youtube.com/watch?v=wbbH77rYaa8&t=2081s The birth of photography: Drawing with Light (and silver iodide)]
|-
|Specific interaction reminder about the future video
|[https://www.youtube.com/watch?v=IgF3OX8nT0w&t=1109s The most powerful computers you've never heard of]
|-
! colspan="2" |Negative Examples
|-
| The show is owned by HBO, but there is no obvious connection between the show and HBO. || [https://www.youtube.com/watch?v=_-0J49_9lwc&t=1911s Housing Discrimination: Last Week Tonight with John Oliver (HBO)]
|-
| They received the product for free, but also money so it is a [[Sponsor]]. || [https://www.youtube.com/watch?v=KrhzKOiRzV8 We might need a Wi-Fi upgrade - Juniper Networks showcase]
|}
[[Category:Segment Categories]]
89dzfbuydpn8bj29keer5adtw0bkc39
Endcards/Credits
0
43
3324
3282
2023-11-03T19:39:41Z
MiniBomba
144
Add categories
3324
wikitext
text/x-wiki
__FORCETOC__
===== Description =====
This is for credits or when the YouTube endcards appear and not for conclusions with information. (Typically at the end of a video)
===== Exceptions/ Edge Cases =====
#YouTube's overlaid annotations do not influence category type decision as they are arbitrarily placed particularly when the segment category is controversial.
## If there is a '''clean cut''' to unrelated filler audio or video for YouTube's endcards, mark it as endcards.
# A goodbye doesn't necessarily justify an endcard. A clear audio '''AND''' visual cut should separate a goodbye before it should be included in an endcard.
#* This helps avoid jarring cuts to a goodbye followed by an outro segment. Just include the goodbye and with it, remove the cut.
#* See Daily Dose Of Internet Intros, just at the end of a video.
===== '''Category Edge Cases''' =====
# Bloopers and "goodbye" sequences should be [[Filler Tangent/Jokes]]
# [[Sponsor]] segments should always be cut separately
#[[Unpaid/Self Promotion]] / [[Interaction Reminder (Subscribe)]] should be cut separately if possible, but can be included '''ONLY''' if they cannot be separated
===== Examples =====
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2"|Positive Examples
|-
| Self promotion during endcards should be marked endcards. || [https://www.youtube.com/watch?v=8PcMlblQS-k Intel's beast canyon NUC is crazy powerful]
|-
| Interaction reminder and self promotion are lumped together inside the end card. || [https://www.youtube.com/watch?v=B8lMeR32vvc&t=1s Can a program brick your PC?]
|-
| The Patreons are given credit in the credit scroll next to the writers. || [https://www.youtube.com/watch?v=uognkTrarGc Space Jam 2 - Terrible but very fun]
|-
| Self promotion and endcards are easily separated. || [https://www.youtube.com/watch?v=2F5zkuXJNn8 Why there's a straight line through Scotland]
|-
| The interaction reminder was separated from the endcards. || [https://www.youtube.com/watch?v=YIWV5fSaUB8 My channel was deleted... how?]
|-
|Endcards overlayed over a non-music segment. The interaction reminder is separated from the endcards, because it is easy to do so.
|[https://youtu.be/CGQC1E6_E58?t=214 Katy Perry - Hot n Cold (lyrics)]
|-
| Bloopers at the end are [[Filler Tangent/Jokes]]|| [https://www.youtube.com/watch?v=JaD_Ze-544E This laptop is all screen]
|-
|The audio at the end is not present in the [https://roosterteeth.com/watch/ah-animated-2020-9-10 first-party VOD]
|[https://www.youtube.com/watch?v=42bFzQIPmTA Tevy Fonda - AH Animated]
|-
|The clip at [https://youtu.be/NmCEvoMwzzA?t=19 0:19] is completely unrelated and filler for YouTube's endcards overlay
|[https://www.youtube.com/watch?v=NmCEvoMwzzA Wenn dein Lehrer endlich mal die Wahrheit sagt]
|-
! colspan="2"|Negative Examples
|-
| Sponsor trumps endcards. || [https://www.youtube.com/watch?v=_SamxVSq6AI It's sinfully light - Roccat Syn Pro Air Wireless gaming headset]
|-
|Segment which started at [https://youtu.be/TosdBYbIFBI?t=182 3:02] caused an abrupt audio cut when a smoother transition was possible at 3:07.
|[https://youtu.be/TosdBYbIFBI?t=176 Hissing cat warms up to his foster mom]
|}
[[Category:Segment Categories]]
rfb0ofd4bj9we9ngxvm2ol7vu85fu69
Music: Non-Music Section
0
44
3335
3050
2023-11-03T19:44:22Z
MiniBomba
144
Add categories
3335
wikitext
text/x-wiki
__FORCETOC__
==== Description ====
This is only for use in music videos and videos which feature music as the primary content. It should cover parts of the video not part of official mixes. In the end, the video should resemble the Spotify or any other mix version as closely as possible, or should reduce talking or other distractions.
==== Exceptions/ Edge Cases ====
#This category exists detached from other categories.
#Intros and endcards should still be overlayed in music videos. If all non-music segments are correctly placed and you submit an intro or endcard that is partially not covered by a non-music segment, your submission is definitely wrong.
#Silent parts in the middle of original mixes should not be cut in the corresponding YouTube video.
#The cut should only be made after you cannot hear anything anymore. Boost your audio to make this type of cut accurately.
#Non-music may cover anything if needed, including visual indicators. [https://discord.com/channels/603643120093233162/603643180663177220/881954619679440947]
==== Create better segments ====
To create extra accurate segments refer to [[Advice_for_submitting#Music_Videos|this article]].
==== Examples ====
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2"|Positive Examples
|-
| The middle part cuts parts not part of the song. There is no endcard at the end, because it would cut the music video. || [https://www.youtube.com/watch?v=0uJ1DWvc_ZM MORGENSHTERN - NOMINALO (Official Video, 2021)]
|-
| The start is exact. The endcards only starts once the music has faded out. || [https://www.youtube.com/watch?v=VNs_cCtdbPc <nowiki>BROWN MUNDE - AP DHILLON | GURINDER GILL | SHINDA KAHLON | GMINXR</nowiki>]
|-
! colspan="2"|Negative Examples
|-
|Segment at 0:43 - 0:58 skipped a voice over section. This is technically a valid submission, but the song is playing at the same time as the voice over so it skips part of the song.
|[https://youtu.be/6p-lDYPR2P8?t=40 <nowiki>Madonna - Material Girl (Official Video) [HD]</nowiki>]
|-
|The video is not a music video, no non-music segments should be added, [[Highlight]] should be used if skipping to the completed song
|[https://www.youtube.com/watch?v=0VDYMbKoBPk Turning My Cat's Meow Into Dubstep]
|-
|This video is not a music video, it is a short film that features the music.
|[https://www.youtube.com/watch?v=tollGa3S0o8 Taylor Swift - All Too Well: The Short Film]
|-
|This video is not a music video, it is also a short film that features the music.
|[https://www.youtube.com/watch?v=Qfi9JpgMc2U 9/21/21]
|}
[[Category:Segment Categories]]
pqgs74ocflarjfnth90jonxbte2r3vh
Intermission/Intro Animation
0
45
3385
3371
2023-11-20T07:33:06Z
Mchangrh
7
Add chapter title cards as per guideline vote https://discord.com/channels/603643120093233162/1167159994920218644/1174494762242429019
3385
wikitext
text/x-wiki
__FORCETOC__
=== Description ===
Usually at the start of a video.
An interval without actual content. This should not be used for transitions containing important context.
'''This includes:'''
*Pauses
*Static frames
*Looping animations
*Livestream pauses with no content:
**Looping animations
**Livestream Chat window
**Long break with no talking or nothing seemingly happening
*Copyright, Fair Use, Fiction and Legal disclaimers
**Content Warnings (ESRB, PEGI etc...) are not valid intros
*Parts of the video that were blurred or muted by the YouTuber after uploading and don't make sense without the removed video or audio
*Topic themed intro animations and short cinematic openings
*Random unrelated clips with music, similar to [https://www.youtube.com/watch?v=1rzC5qrYZXs an intro of a TV Show]
*Generic or repetitive chapter title cards
**Chapter titles that give unique context or content not in the chapter titles are not allowed
**Title cards for chapters covered in SponsorBlock chapters, creator created chapters, or commented chapters can be included
**Generic chapters such as "Question 2", "Round 3" or titles to segments repeated throughout the series like "Fan Mail" can be included
=== Exceptions/ Edge Cases ===
#As a rule of thumb, you can assume, that anything containing speech should not be submitted.
#A greeting containing speech may be marked as intro if and only if it is separated from the rest of the video with a clear visual '''AND''' audio cut.
#An intro segment which contains a warning that protects the viewer should have the warning left out or not be marked at all.
'''This category is not for:'''
*Getting to the interesting part of a video. ([[Highlight]] or [[Music: Non-Music Section|Non-Music]])
*Time-lapses
*Slow motion clips
*B-roll
*Bloopers
*Jokes
{{Disclaimers}}
**Copyright, Fair Use and fiction/legal disclaimers '''<u>can be marked</u>''' as Intermission/ Intro Animation
* Context relevant to parts immediately after the segment
===Examples===
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description!! style="width: 1%" |Video Link
|-
! colspan="2" |Positive Examples
|-
|The intro animation that is found in Linus Tech Tips' videos.||[https://www.youtube.com/watch?v=SElZABp5M3U I tried Steam Deck early and it's awesome]
|-
|The spoken intro on Daily Dose of Internet may be submitted because it is the same every time and no content is in the background. Normally any speaking would be considered content, but this is an exception.||[https://www.youtube.com/watch?v=evKZGQ-qwEE Bread that hates mustard]
|-
| Themed intro cinematic over music||[https://www.youtube.com/watch?v=8eNNJESKjrE OnePlus 9 Pro review: A huge Hasselblad promise]
|-
| This cut is very seamless.|| [https://www.youtube.com/watch?v=Hdoi3p2jHPU&t=23s The mask of Tutankhamun]
|-
|The intro consists of random unrelated clips with music that give no context for the video
|[https://www.youtube.com/watch?v=5SkJdPp35pM I need help with my new house]
|-
| rowspan="2" |Themed intros for The Studio that differ slightly between videos
|[https://www.youtube.com/watch?v=WZdROTl4b0o Blind smartphone guessing game!]
|-
|[https://www.youtube.com/watch?v=cxp-FCDUkNc The MKBHD desk setup tour 2021]
|-
|Themed intro.||[https://www.youtube.com/watch?v=yLXflEEQqSU Your hands go ''inside'' this keyboard]
|-
|Tv-series like intro||[https://www.youtube.com/watch?v=7_pph8Ilq1E Spec ops react to ''Call of Duty: Modern Warfare'' - night missions campaign]
|-
! colspan="2" |Negative Examples
|-
|In this trailer the first 5 seconds should not be cut, because you can hear the wind blowing in the background. The wind in this case is content.||[https://www.youtube.com/watch?v=Qah9sSIXJqk KGF: Chapter 2 teaser]
|-
|The category shouldn't be used to get to the point of the video. A segment from 0:00 to [https://www.youtube.com/watch?v=maMnRvJVih8&t=13s 0:13] is not permitted.|| [https://www.youtube.com/watch?v=maMnRvJVih8 Kyudo - The sound of an arrow being released from bow]
|-
|The cinematic at the beginning should not be cut, because it is vital to the context. Removing it leads to a decreased viewer experience. It doesn't matter that the title references it.||[https://youtu.be/C3xeBlEuufw?t=4 You wouldn’t download a PC case?]
|-
|Intro segment doubles as a warning to protect the viewer and should not be marked.
|[https://youtu.be/EXBAdajRuYw?t=34 Handheld DNA eraser?]
|}
[[Category:Segment Categories]]
ll6tkxxu8no0jjkcgmoec1lj7j1nqzy
SponsorBlock:Copyrights
4
46
200
199
2021-08-12T01:08:44Z
Mchangrh
7
200
wikitext
text/x-wiki
The SponsorBlock Wiki and content is licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0] unless otherwise specified.
bf9h8g3bea5x5o7rklft6a9du6358qk
VIP/Warning Message
0
47
283
282
2021-08-29T19:03:24Z
Mchangrh
7
switch syntaxhighlight to js
283
wikitext
text/x-wiki
The message displayed to users when they are warned follow this template.
<syntaxhighlight lang="js">
Submission rejected due to a warning from a moderator. This means that we noticed you were making some common mistakes that are not malicious, and we just want to clarify the rules. Could you please send a message in discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app so we can further help you? Your userID is ${userID}.
Warning reason: ${reason}
</syntaxhighlight>
rzc9irmqworqjm4mmddoyhxmvm9btor
Creating Segments
0
48
3316
3303
2023-11-03T19:34:47Z
MiniBomba
144
Update categories
3316
wikitext
text/x-wiki
Creating Segments, aside from choosing the correct category, can throw up some question. This articles covers the basics and some tips how to maximize viewer experience. You can find tips on how to create better segments in [[Advice_for_submitting | this article]].
= User Interface =
[[File:Bar with info.png]]
*The "i" will open a popup, that contains information about you and the current video and more.
*The right arrow will mark the current time as the segment start.
It will change the search bar to:
[[File:Bar stop segment.png]]
*The cross will stop the current segment. It will return you to the previous state.
*The square will mark the current time as the segment end.
It will change the search bar to:
[[File:Bar popup.png]]
*The up arrow will open a popup, in which you can edit segments further.
*The trash can will delete all unsubmitted segments on this video.
*The right arrow will start the creation segment for another segment. There can be more than one unsubmitted segments at the same time.
Here is the up arrow's popup:
[[File:Popup only.png]]
*"Delete" deletes one segment.
*"Preview" starts the video 2 seconds before the segment.
*"Inspect" starts the video at the segment start time.
*"Edit" shows text boxes and options to manipulating segment start and end times. Press the end button to make sure extend your segment all the way to the end.
*The "?" opens the SponsorBlock options page.
*"Guidelines" opens the [[Guidelines | guidelines]].
*"Submit" submits all unsubmitted segments on this video.
[[Category:SponsorBlock User Guides]]
6ikahtgtxd0pxhdddoqcgrx1v5enrxc
File:Bar with info.png
6
50
237
220
2021-08-14T20:41:59Z
Deedit
4
Deedit uploaded a new version of [[File:Bar with info.png]]
218
wikitext
text/x-wiki
The search bar with the info popup and nothing clicked.
cfhhjhc637zzb680t52nthe2zgzp3qr
2021-08-14T03:28:33Z
Deedit
4
Bar_with_info.png
20210814033445!Bar_with_info.png
https://wiki.sponsor.ajay.app/images/archive/3/38/20210814033445%21Bar_with_info.png
5365
q7ubhksdgk43j2utfueelhj38cpyqy7
archive/3/38/20210814033445!Bar_with_info.png
2021-08-14T03:34:45Z
Deedit
4
Nicer search bar
Bar_with_info.png
20210814204158!Bar_with_info.png
https://wiki.sponsor.ajay.app/images/archive/3/38/20210814204158%21Bar_with_info.png
5355
kp0xqyez074no5zksnh1cpl2cxsngtf
archive/3/38/20210814204158!Bar_with_info.png
2021-08-14T20:41:59Z
Deedit
4
Now cropped
Bar_with_info.png
https://wiki.sponsor.ajay.app/images/3/38/Bar_with_info.png
4707
tmkb8uy5512101zsrz662m6xlv15qey
3/38/Bar_with_info.png
File:Bar stop segment.png
6
51
238
221
2021-08-14T20:43:21Z
Deedit
4
Deedit uploaded a new version of [[File:Bar stop segment.png]]
221
wikitext
text/x-wiki
YouTube search bar after clicking start segment
rbssqzzffa6y4vw2qsrl2q9tza9t1b1
2021-08-14T03:48:49Z
Deedit
4
Bar_stop_segment.png
20210814204321!Bar_stop_segment.png
https://wiki.sponsor.ajay.app/images/archive/a/ae/20210814204321%21Bar_stop_segment.png
4722
hy3zqutjb33a2nv96bbj6pe2zhv4kcp
archive/a/ae/20210814204321!Bar_stop_segment.png
2021-08-14T20:43:21Z
Deedit
4
now copped
Bar_stop_segment.png
https://wiki.sponsor.ajay.app/images/a/ae/Bar_stop_segment.png
4154
kink0bdadx2hsi2o2rgb854q7ce3krj
a/ae/Bar_stop_segment.png
File:Bar popup.png
6
52
239
229
2021-08-14T20:43:53Z
Deedit
4
Deedit uploaded a new version of [[File:Bar popup.png]]
223
wikitext
text/x-wiki
== Summary ==
File:Bar_popup.png
fr7yjtwjp2vygyq0hmgy7hb89jv6nyv
2021-08-14T04:33:28Z
Deedit
4
Fixed mistake on the left
Bar_popup.png
20210814204353!Bar_popup.png
https://wiki.sponsor.ajay.app/images/archive/e/ed/20210814204353%21Bar_popup.png
5057
d2w5uy1cefy1ks4bp5czu5gb84f3k08
archive/e/ed/20210814204353!Bar_popup.png
2021-08-14T20:43:53Z
Deedit
4
now cropped
Bar_popup.png
https://wiki.sponsor.ajay.app/images/e/ed/Bar_popup.png
4506
063mbp047lvwxpy02mudt1tl03o0b08
e/ed/Bar_popup.png
File:Popup only.png
6
53
224
2021-08-14T04:04:49Z
Deedit
4
224
wikitext
text/x-wiki
The segment editing popup
5h8p96gmv33zrr0f7qzne3661dpv30l
2021-08-14T04:04:49Z
Deedit
4
Popup_only.png
https://wiki.sponsor.ajay.app/images/6/6a/Popup_only.png
9979
9iw8gn63renhpvga5eq59kni6gmwwb7
6/6a/Popup_only.png
File:Big popup.png
6
54
227
2021-08-14T04:22:35Z
Deedit
4
227
wikitext
text/x-wiki
The big popup next to the player
mf9mqtyd13g9spis3ri18v6d99paaks
2021-08-14T04:22:35Z
Deedit
4
Big_popup.png
https://wiki.sponsor.ajay.app/images/1/1d/Big_popup.png
35260
8f46dh44nwyitciiuy7eqmzircxrtae
1/1d/Big_popup.png
Community
0
57
3390
3382
2023-12-10T16:40:50Z
MiniBomba
144
/* SponsorBlock Browser */ added fresh :selfpromo: from minibomba
3390
wikitext
text/x-wiki
== Media ==
[https://github.com/cole8888/SponsorBlock-Flowchart SponsorBlock Flowchart] by E.Coli. Flowchart to help users choose the correct category when making submissions.
Please see the latest version on the [https://github.com/cole8888/SponsorBlock-Flowchart GitHub]
[[File:SB Flowchart small 1.10.1.png|none|thumb|500x500px|Flow chart to help users choose the correct category when making submissions.]]
== Websites ==
[https://sb.ltn.fi/ SponsorBlock Browser] by Lartza. Explore segments on a 5-minute delayed version of the live database
[https://mruy.github.io/sponsorBlockControl-sveltekit/ SponsorBlockControl-sveltekit] by Nanobyte. Vote on segments with UUID, also for VIP operations
[https://openapi.sb.blabdu.de/ SponsorBlock Swagger] by mchangrh. Explore and try the SponsorBlock API.
[https://leaderboard.sbstats.uk/ SponsorBlock Leaderboard] by AcesFullOfKings. See who the top submitters and time-savers are.
=== Userscripts ===
Userscripts require a userscript manager like [https://www.tampermonkey.net/ Tampermonkey].
==== SponsorBlock Browser ====
{| class="wikitable"
|+Userscripts
!Name
!Description
!Targets
!Author
!Install Link
|-
|sb.ltn.fi.lastupdate.user.js
|Show the last update time
|Global
| rowspan="3" |[https://github.com/MRuy NanoByte]
|[https://gist.github.com/MRuy/ca74d6a359c487d760f4a698e76fb0d6/raw/sb.ltn.fi.lastupdate.user.js Install]
|-
|sb.ltn.fi.similarsegments.user.js
|Color code similar segments
|Videos
|[https://gist.github.com/MRuy/ca74d6a359c487d760f4a698e76fb0d6/raw/sb.ltn.fi.similarsegments.user.js Install]
|-
|sb.ltn.fi.sponsorblock.paste.ytlink.user.js
|Paste YT Link into videoID Field
|Navigation
|[https://gist.github.com/MRuy/ca74d6a359c487d760f4a698e76fb0d6/raw/sb.ltn.fi.sponsorblock.paste.ytlink.user.js Install]
|-
|sb.ltn.fi.clickableellipsisnavigation.user.js
|ellipsis in page navigation will show a prompt for page number
|Navigation
| rowspan="6" |[https://github.com/TheJzoli TheJzoli]
|[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.clickableellipsisnavigation.user.js Install]
|-
|sb.ltn.fi.copyuserid.user.js
|Adds a button on the userID page to copy that userID
|Users
|[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.copyuserid.user.js Install]
|-
|sb.ltn.fi.copyvideopagelink.user.js
|copy video ID" (✂) button copies SBB page link instead
|Segment Options
|[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.copyvideopagelink.user.js Install]
|-
|sb.ltn.fi.forceupdate.user.js
|Fetches the segments and updated info for the video, so that you don't have to wait for the video page to update.
|Videos
|[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.forceupdate.user.js Install]
|-
|sb.ltn.fi.hidecolumns.user.js
|Hide any column you want
|Column/ Table
|[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.hidecolumns.user.js Install]
|-
|sb.ltn.fi.pagenavigationabovetable.user.js
|Duplicate page navigation element above table
|Navigation
|[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.pagenavigationabovetable.user.js Install]
|-
|sbltnfi-time-saved-column.user.js
|Adds time saved column
|Videos
|[https://github.com/NoMoreAngel NoMoreAngel]
|[https://github.com/NoMoreAngel/userscripts/raw/main/sbltnfi/sbltnfi-time-saved-column.user.js Install]
|-
|sbltnfi-imprecise-times.user.js
|Removes trailing insignificant zeroes from Start, End and Length
|Videos
| rowspan="4" |[https://github.com/mchangrh blabdude]
|[https://uscript.mchang.xyz/sbltnfi/sbltnfi-imprecise-times.user.js Install]
|-
|sbltnfi-refresh.user.js
|Refresh individual segments
|Videos
|[https://uscript.mchang.xyz/sbltnfi/sbltnfi-refresh.user.js Install]
|-
|sbltnfi-requiredSegments.user.js
|Copy sb.mchang.xyz/UUID link
|Videos
|[https://uscript.mchang.xyz/sbltnfi/sbltnfi-requiredSegments.user.js Install]
|-
|sbltnfi-short-sbmchang.user.js
|Adds a shortened (videoid/partialHash) link to all entries
|Videos
|[https://uscript.mchang.xyz/sbltnfi/sbltnfi-short-sbmchang.user.js Install]
|-
|sb.ltn.fi index page Restoring functionality
|Restore functionality of Index Page
|Index Page
|[https://github.com/MRuy NanoByte]
|Defunct
|-
|sb.ltn.fi-verified-locks.user.js
|Replaces 🔒 in the votes column with a verified icon
|Global
|[https://github.com/mini-bomba mini-bomba]
|[https://raw.githubusercontent.com/mini-bomba/uscripts/master/sb.ltn.fi-verified-locks.user.js Install]
|}
{| class="wikitable"
|+Userscripts with Forks
!Name
!Description
!Changes
!Targets
!Author
!Install Link
|-
| rowspan="2" |sb.ltn.fi.clickablestarttime.user.js
| rowspan="2" |Make the startTime Clickable
|
| rowspan="2" |Videos
|[https://github.com/MRuy NanoByte]
|[https://gist.github.com/MRuy/ca74d6a359c487d760f4a698e76fb0d6/raw/sb.ltn.fi.clickablestarttime.user.js Install]
|-
|More aggressive videoID searching
|[https://github.com/mchangrh blabdude]
|[https://gist.github.com/mchangrh/9507604353e37b6abc2f7f6b3c6e1338/raw/sbltnfi-clickable-starttime-fork.user.js Install]
|-
| rowspan="3" |sb.ltn.fi.videotitles.user.js
| rowspan="3" |Replace videoID with video title
|
| rowspan="3" |Videos
|[https://github.com/TheJzoli TheJzoli]
|[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.videotitles.user.js Install]
|-
|searching done through InnerTube API (faster)
| rowspan="2" |[https://github.com/mchangrh blabdude]
|[https://uscript.mchang.xyz/sbltnfi/fork/sbltnfi-it-videotitle.user.js Install]
|-
|searching done through YouTube OEmbed API (reliable)
|[https://uscript.mchang.xyz/sbltnfi/fork/sbltnfi-oembed-videotitle.user.js Install]
|-
|sb.ltn.fi.lockCategories
| rowspan="3" |VIP Tools - Category Locking, Voting, Category Changing
|
| rowspan="3" |Videos
|[https://github.com/FlorianZahn Deedit]
|[https://gist.github.com/FlorianZahn/785599a860328fae0724ad5b2b3f7879/raw/sb.ltn.fi.lockCategories.user.js Install]
|-
|sb.ltn.fi.vipinterface.user.js
|Adds option to lock categories and vote on segments.
|[https://github.com/TheJzoli TheJzoli]
|[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.vipinterface.user.js Install]
|-
|SBBCoolHelper.user.js
|Adds options to purge, more category support
|[https://github.com/ducng99 Maxhyt]
|[https://raw.githubusercontent.com/ducng99/SBBCoolHelper/master/SBBCoolHelper.user.js Install]
|-
| rowspan="3" |sb.ltn.fi.coloredcategories.user.js
| rowspan="3" |Color code categories
|
| rowspan="3" |Videos
|[https://github.com/MRuy NanoByte]
|[https://gist.github.com/MRuy/ca74d6a359c487d760f4a698e76fb0d6/raw/sb.ltn.fi.coloredcategories.user.js Install]
|-
|Subtler category colours
|[https://github.com/AcesFullOfKings AcesFullOfKings]
|[https://github.com/AcesFullOfKings/SponsorBlock-UserScripts/raw/main/colourTableCellsByCategory.user.js Install]
|-
|Subtler, rounder category colours with ::before
|[https://github.com/mini-bomba mini-bomba]
|[https://discord.com/channels/603643120093233162/908441365879337080/1166086251603046491 Download]
|-
| rowspan="2" |sbltnfi-preset-replace.user.js
| rowspan="2" |Preload sb.ltn.fi links with filters/sorting
|
| rowspan="2" |Video, User
|[https://github.com/x1yl Xtyl]
|[https://gist.github.com/x1yl/12156c5487fbd5fe5141f0c142143e0c/raw/sbltnfi-preset-replace.user.js Install]
|-
|
|[https://github.com/mchangrh blabdude]
|[https://uscript.mchang.xyz/sbltnfi/sbltnfi-preset-replace.user.js Install]
|}
{| class="wikitable"
|+Public VIP Userscripts
!Name
!Description
!Targets
!Author
!Install Link
|-
|sbltnfi-discord-badge.user.js
|Adds discord badge to users that are registered with sb-slash
|Users
|[https://github.com/mchangrh blabdude]
|[https://uscript.mchang.xyz/sbltnfi/sbltnfi-discord-badge.user.js Install]
|-
|sbltnfi-sbc-warn.user.js
|Adds a warning button that opens SBC to pre-fill userID and copies all videoIDs + titles from current page
|Users
|[https://github.com/mchangrh blabdude]
|[https://uscript.mchang.xyz/sbltnfi/sbltnfi-sbc-warn.user.js Install]
|}
==== YouTube (SponsorBlock) ====
[https://gist.github.com/jiraph/e60d0a7ae7071f1f4ef060948d50a9a1 User(Styles)] by jiraph
* Styles thumbnail label to match YouTube's existing thumbnail badges.
* Styles dropdown list in the submission menu with each category's respective color.
{| class="wikitable"
!Name
!Description
!Author
!Install Link
|-
|PlaylistVideoOpener.user.js
|Open the current video when watching a playlist
| rowspan="2" |[https://github.com/FlorianZahn Deedit]
|[https://gist.github.com/FlorianZahn/785599a860328fae0724ad5b2b3f7879/raw/PlaylistVideoOpener.user.js Install]
|-
|sb.ltn.fi.DBBOpener.user.js
|Open's the video's page in SBB
|[https://gist.github.com/FlorianZahn/785599a860328fae0724ad5b2b3f7879/raw/sb.ltn.fi.DBBOpener.user.js Install]
|-
|cane-sb-buttons.user.js
|SBC/ SBB/ Playlist opener buttons in one script
|[https://github.com/mlnrDev cane]
|[https://gist.githubusercontent.com/mlnrDev/b0949e9d3f2ba312b7523579976c9f31/raw/cane-sb-buttons.user.js Install]
|}
== Bookmarklets ==
Opening SponsorBlock Browser page while on the YouTube page<syntaxhighlight lang="js">
javascript:(function(){window.open('https://sb.ltn.fi/video/' + new URL(document.URL).searchParams.get("v") + '/')})()
</syntaxhighlight>Opening SponsorBlockControl browse page while on the YouTube Page<syntaxhighlight lang="js">
javascript:(function(){window.open('https://mruy.github.io/sponsorBlockControl-sveltekit/browse/?videoID=' + new URL(document.URL).searchParams.get("v"))})()
</syntaxhighlight>Open video outside of playlist<syntaxhighlight lang="js">
javascript:(function(){window.open('https://youtube.com/watch?v=' + new URL(document.URL).searchParams.get("v"))})()
</syntaxhighlight>
== 3rd Party Ports ==
[https://github.com/ajayyy/SponsorBlock/wiki/3rd-Party-Ports Github Wiki 3rd Party Ports]
[https://docs.google.com/spreadsheets/d/1vxSx06dPs_X3WCCC0bMztmlxbg_ETzAmp7sL70HFIew/edit?usp=sharing SponsorBlock Port Matrix] by mchangrh. Supported endpoints, segment types and documentation versions for different ports/libraries
== Misc ==
[https://github.com/mchangrh/sb-slash sb-slash] by mchangrh. Interact with SponsorBlock over Discord
[https://github.com/mchangrh/uscripts/tree/main uscripts] by mchangrh - collection of other userscripts for youtube and sb.ltn.fi
[[Category:SponsorBlock User Guides]]
p2f7194fnng0j68k8qyzukttkr4kh9u
Highlight
0
59
3386
3331
2023-12-05T11:44:20Z
YoshiNuss
1399
3386
wikitext
text/x-wiki
__FORCETOC__
=== Description ===
This is for getting to the point or highlight of the video.
Highlight is a very niche & subjective category, enabling autoskip is '''''<u>not recommended</u>''''' for any content you care about.
You '''''<u>will</u>''''' skip context, important information '''''<u>and</u>''''' have content spoiled.
=== Specifics ===
Highlights are not [[Chapter|Chapters]], only one highlight is displayed per video.
Highlights will only jump to a point in the video, hence the start and end time is identical.
Highlight doesn't label the content before it, it labels the content ''after'' it.
"Most Replayed" should not have any effect on what you submit
Only submit the highlight with the highest priority
==== Use Cases (highest to lowest priority)[https://blog.ajay.app/highlight-sponsorblock] ====
# Skipping to the point/most important part of the video
# Skipping to the part of the video referred to by the title
# Skipping to the part of the video referred to by the thumbnail
# Skipping to the part of the video referenced from a preview/teaser at the start of the video
__NOEDITSECTION__
__INDEX__
[[Category:Segment Types]]
[[Category:Segment Categories]]
o8pkf6sh7ddfgw1zdx5ajaqzotm9u44
Mute Segment
0
63
3336
3273
2023-11-03T19:44:38Z
MiniBomba
144
Add categories
3336
wikitext
text/x-wiki
=== Description===
Mute segments are for segments that visually contain important information but have audio underneath that belongs in one of the categories. '''If a segment can be skipped, it should be skipped instead.''' If a "skip" segment is too short to make a smooth skip, it can be submitted as "mute" if it seems better.
Existing "skip" segments cannot be converted to "mute" segments unless resubmitted as a new segment.
The threshold for converting skip segments to mute is about 1.5 seconds, but can vary depending on the context.
=== Keeping Context===
*While skip segments should include segues, mute segments sometimes do not include segues
*For segments, try to mute as much audio as possible while still preserving context, reducing confusion as to why there is suddenly no audio
**Don't mute the audio leading up to the segment, '''e.g.''' at [https://www.youtube.com/watch?v=ymSKf0FNANk&t=555s 9:15], bryonato's explanation of the encounter being "''mainly just holding W''" and the segue into "''but we have time for our first round of donations''" is not muted
=== Examples===
{| class="wikitable"
|+
!Description
!Video Link
|-
! colspan="2" |Positive Examples
|-
|There are visual disclaimers which cannot be skipped but audio for a sponsor read
| [https://www.youtube.com/watch?v=ypynV-o5ox8 1 man, 27 impressions]
|-
|The content creator is shouting out the creator of the source material they based off of at [https://youtu.be/Nk_-oVPmfs0?t=1017 16:57] but it is over a timelapse, which should not be skipped
| [https: / www.youtube.com watch?v="Nk_-oVPmfs0" Hermitcraft 8 |[https://www.youtube.com/watch?v=Nk_-oVPmfs0 I moved! (my base)]
|-
|The product name mentioned at [https://youtu.be/AaBfFZ2lObk?t=52 0:52] is muted since it's irrelevant to the content and cannot show any bias, where a skip would dramatically interrupt the flow
|[https://www.youtube.com/watch?v=AaBfFZ2lObk Slow mo with a high-speed robot]
|-
|GDQ donation segments still have gameplay but can be muted for the duration of the donation reads
|[https://www.youtube.com/watch?v=ymSKf0FNANk Control by Bryonato in 1:08:47 - AGDQ2020]
|-
! colspan="2" |Negative Examples
|-
|While there is spoken audio at [https://youtu.be/paUqUTmcf-Y?t=488 8:08], it is an interaction reminder and the entire section can be skipped
| [https: / www.youtube.com watch?v="paUqUTmcf-Y" 8 Minute Guide to Sucrose |[https://www.youtube.com/watch?v=paUqUTmcf-Y 8 minute guide to Sucrose]
|-
|While the audio is irrelevant, it doesn't fit any category and should not be muted
|[https://www.youtube.com/watch?v=jmX_qqGOGMs Crazy spinning cat]
|}
=== Tips for submitting ===
*Mute segments do not need a 2 frame buffer at the start
*When chaining a skip after a mute segment, add a 2 frame buffer to the start of the skip segment
*Preview as skip to see if there is a clean cut between the start of the mute and the end of the mute, avoiding unmutes in the middle of dialogue or a sound effect
*Make sure that other audio in the middle of the segment is not muted
*If the section has a part that should be skipped and a 2nd part that should only be muted — make two consecutive segments.
**It is preferred to chain them on exactly the same millisecond but some overlap is okay.
**Instead of chaining multiple skips and mutes in sequence, replace the smaller mute segments with a larger mute that covers all the segments
[[Category:Segment Types]]
dal2m1652uci5jk1cd3x45kwt4yw3vr
Advice for submitting
0
65
3389
3388
2023-12-05T11:53:27Z
YoshiNuss
1399
3389
wikitext
text/x-wiki
This page compiles some tips on how to make your submissions better. Let us begin with 5 easy steps to a good submissions:
# Find the rough start of the segue to the segment you want to create. You must include the segue or transition.
# Use <code>,</code> and <code>.</code> to go through the video frame by frame to find the exact moment. In a 25/30fps video the start of the segment should be at least two frames before the visual transition. As in when the transitions starts, press the <code>,</code> button twice to be two frames in front of it. For 50/60fps videos use at least three frames. Words should not be cut in half as the video should still make sense with the cuts. Always prioritize intact audio over video. It's best to start it as early as possible that doesn't include content to account for any lag. (Even if the segment skips smoothly for you with less time/fewer frames between timing and real segment start, you should use these timings as some browsers need them.)
# Find the end of the segment and do the same thing as with the start of the segment, just that you should end the segment on the first frame after the sponsor read/transition is over.
# Preview the segment to make sure it skips seamlessly. You should not have have frame flashes or cut words.
# If you have multiple segments after each other make sure their timings overlap. This should happen by default if you followed the steps above.
# For more specific advice scroll down.
=== User interface ===
If you don't know what all the buttons do, you can find explanations[[Creating_Segments | in this article]].
=== Activate all categories ===
A segment might have already been submitted as another category. Seeing this is a reminder to make sure you did indeed choose the correct category.
=== Clean cuts ===
When there is a visible transition and a small margin of error, don’t try to get it right with play/pause. Use the <code>,</code> and <code>.</code> keys and move frame by frame. Segments should start '''''before''''' the visual change, or a little earlier if needed for audio, and end on the '''''first frame after''''' the segment. It's best to start it as early as possible that doesn't include content to account for any lag. Also pressing <code>k</code> will pause the video.
=== Essentials only ===
Make sure not to include any content that should not be included in the segment. Use "Inspect" To check that the segment does not start too early. Ending a segment should be done on the first frame of what should come after. Use "Preview" to make sure you do not cut anything off. This is especially important for "non-music" segments.
=== Music Videos ===
Boost your audio with a browser extension to cut fadeouts. The video can only be cut at the video's framerate, but music can be cut even more precisely, i.e. it has a higher "framerate" than the video. Set the video speed to 25% and adjust the times that appear after pressing "Edit" in the popup, to achieve more precise cuts.
=== Overlap adjacent segments ===
Segments of different categories that are right next to each other should slightly overlap. The reason for this is that '''every segment should be correct and seamless on its own''' and make sense from a perspective of a user with only one category enabled. Segments that have the same end and start time still skip fine though, but one of the two segments might not be perfect this way.
Mute segments usually don't need a significant overlap although 1ms might help if segments aren't properly chaining.
=== Fade transitions ===
For transitions that fade to/from black, temporarily increasing your gamma helps you to see exactly when the transition starts/ends. For Nvidia users, open Nvidia Control Panel > Display > Adjust desktop color settings. For AMD users, open Catalyst Control Center > Desktop Management > Desktop Color. Alternatively, on Windows, search for "dccw" in the start menu to open Display Color Calibration. Create a shortcut for "dccw.exe" for easier access.
=== Submissions edited videos ===
If you submit a long intermission segment on a live-streamed video, take a look at it after some time. Very often large chunks of such videos are removed afterwards, which messes up the submissions and makes it necessary to delete them.
Segments are automatically deleted after the length of a video changes. This is triggered, when a new submission is made on the video. If you notice a video where this was the case, create a segment and delete it to trigger this process.
=== Use transcript to find sponsors ===
[[File:Transcript new.png|thumb|This shows where to open a YouTube video's transcript]]
If you are looking for a sponsor, look for it in the description. After that open the transcript and press Ctrl + F and search for the sponsor. You can find the transcript at the bottom of the video description. This also works for other keywords like "subscribe", "bell" or "like".
=== Don't submit each segment individually ===
It can help if you are creating multiple segments, to submit all segments at once after you have figured out all of the timings.
=== Working around wrong segments ===
If you come over a wrong segment and want to submit your own, you can either downvote it via the <code>i</code> Symbol in the video player, or via the popup that appears after skipping the segment. Only downvoting it via the popup will remove the segment from the search bar which makes it easier for you to submit your own.
=== Technical Limitations ===
Vanced always skips later than the actual start time of a segment for battery saving reasons.
=== Livestreams and Premieres ===
Don't create segments during a livestream or Premiere. The video's duration will change after it ends, resulting in incorrect segments. Wait until it ends and refresh the page before creating.
[[Category:SponsorBlock User Guides]]
g50dska2i50patmns01kk1auock950t
VIP Guide
0
66
3349
3212
2023-11-03T19:51:59Z
MiniBomba
144
Add categories
3349
wikitext
text/x-wiki
__FORCETOC__
This article covers tools and work sequences for [[VIP|VIPs]]. VIPs can help moderate videos and investigate potential abuse if they have the time for it, but there are no expectations for the amount of work or commitment. VIP is a permission level, not a job.
Mandatory Informative <s>Anti-Union propaganda</s> video for all VIPs ([https://youtube.com/watch?v=uRpwVwFxyk4 This is a joke])
== Code of Conduct ==
Don't question VIPs on submitting a segment with a small difference to yours, unless you believe the new segment is worse than the original. In the end it is about creating good segments and not about your stats.
== Tools and Terminology ==
*[https://sb.ltn.fi/ SponsorBlock Browser] by Lartza. Short: SBB
**[https://gist.github.com/MRuy/ca74d6a359c487d760f4a698e76fb0d6 Userscripts] by Nanobyte. They make SBB prettier and easier to read, as well as utility.
**[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181 Userscripts] by TheJzoli. Small user experience improvements for SBB.
**[https://gist.github.com/FlorianZahn/785599a860328fae0724ad5b2b3f7879 Userscripts] by Deedit. Locking, category change and voting for SBB. SBB opener for YouTube.
**[https://github.com/ducng99/SBBCoolHelper Userscript] by Maxhyt. Locking, category change and voting for SBB.
**Explanations of all features at the top of the respective sites. You will need a userscript manager like [https://www.tampermonkey.net/ Tampermonkey]. Press raw on the right of the filename and then install.
**[[Community|Bookmarklets]]
*<s>[https://mruy.github.io/sponsorBlockControl/ SponsorBlockControl] by Nanobyte. Short: SBC</s>
*[https://mruy.github.io/sponsorBlockControl-sveltekit/ SponsorBlockControl-sveltekit] by Nanobyte. Short: SBC
**This version is updated more frequently and and has some features not in base SBC
*[https://github.com/mchangrh/sb-slash sb-slash] by mchangrh.
*👍 is commonly used to show support for a message, supporting a ban or another action taken while ✅ is used to show confirmation. Alt + left click will add an emoji to your favorites.
*For videos in #incorrect-submissions, react with ✅ to indicate that it is done, ❌ if the report is incorrect and ⏲️ to indicate that you are working on a message
**both ✅ and ❌ will trigger the bot to remove embeds on the message
*A full list of community projects and tools are available at [[Community]]
== Moderating Users ==
=== Warnings ===
==== What constitutes a warning and when to lift it? ====
Warnings should be issued to users who misinterpret the rules and can be set straight by simply telling them to review the rules and [[Guidelines|guidelines]], e.g. users who often mislabel the category can just use the flowchart.
The point of a warning is to get the user into matrix or discord so that we can talk to them, make sure they go over the guidelines and hopefully learn from their mistake.
Once they have confirmed they have read the guidelines, checked out their previous mistakes and if applicable, read the corresponding articles, the warning may be lifted. A possible prompt for this can be
<nowiki>Please read the guidelines and confirm if you understand the mistakes, or ask any questions if you have any.</nowiki>
Warnings can be lifted with sb-slash<ref name=":0">https://github.com/mchangrh/sb-slash/blob/main/docs/vip.md</ref>, SBC<ref name=":1">https://mruy.github.io/sponsorBlockControl</ref>
==== How to issue a warning? ====
In <code>#report-a-user</code> post a message with the warning reasons and link their profile on SBB. The message should look like this:
Warning for <nowiki>https://sb.ltn.fi/userid/7a7e6f513cd2a7a9abfd5c3dec7c8e2ea0e5e26f2683a83342ebad0f68d7754e/</nowiki>
Reasons:
Intro covering content:
<nowiki>https://sb.ltn.fi/video/kTZrV4M5Tcs/</nowiki>
<nowiki>https://sb.ltn.fi/video/BoQU3_4o90s/</nowiki>
Sponsor doesn't include segue:
<nowiki>https://sb.ltn.fi/video/NxYPNNftnNQ/</nowiki>
<nowiki>https://sb.ltn.fi/video/Fci_ALdEzGc/</nowiki>
Other unrelated tips...
<!-- Pasting warning reason is theretwice, because it is important. -->
'''The warning reason is everything after "Reasons".'''
On SBC<ref name=":1" /> paste the userID and the warning reason. Please paste the warning reasons! Yes, it can be quite long. If you want to give tips to the user, do it now, as they will see this message. If the user has many wrong segments, but you still feel like a warning is appropriate, consider removing all old segments by banning and unbanning them.
==== What does the user experience? ====
When the user is submitting or voting on a segment, a chat window of <code>#questions</code> will open and automatically post a message with their warning reason. They cannot navigate to any other channels, so don't link to a discord message or other channels. Their username will be set to their userID and they will see an [https://en.wikipedia.org/wiki/Alert_dialog_box alertbox] with the following text:
Submission rejected due to a warning from a moderator. This means that we noticed you were making some common mistakes that are not malicious, and we just want to clarify the rules. Could you please send a message in discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app so we can further help you? Your userID is ${userID}.
Warning reason: ${reason}
=== Bans ===
Bans of users with many submissions need approval of one other VIP. Don't hold back on banning users, when they submit bad segments. They should be mature enough, that their bad segments show up for everyone to see.
==== What constitutes a ban? ====
*A ban should be issued to users who break the rules in a way, that explaining them to them would not be feasible.
*Their submissions show disregard of the guidelines, in such a way that good faith cannot be assumed any more.
**Censoring people or stuff shown for pretty much all reasons
*Submissions were created to lessen the viewer experience.
*It shows, that the user never bothered reading the category descriptions.
==== How to issue a ban? ====
In #bans post a message with the ban reasons and link their profile on SBB. <code>#bans</code> is a private channel. The message should look like this:
(Recommending) ban for <nowiki>https://sb.ltn.fi/userid/7a7e6f513cd2a7a9abfd5c3dec7c8e2ea0e5e26f2683a83342ebad0f68d7754e/</nowiki>
Reasons:
Intro covering content:
<nowiki>https://sb.ltn.fi/video/kTZrV4M5Tcs/</nowiki>
<nowiki>https://sb.ltn.fi/video/BoQU3_4o90s/</nowiki>
Sponsor doesn't include segue:
<nowiki>https://sb.ltn.fi/video/NxYPNNftnNQ/</nowiki>
<nowiki>https://sb.ltn.fi/video/Fci_ALdEzGc/</nowiki>
Wait for another VIP's support with 👍. After receiving approval, head to SBC<ref name=":1" /> and ban the user. You may choose to hide categories. Confirm your ban with ✅.
==== What does the user experience? ====
The user will not notice they have been banned, as we issue only shadowbans. As long as the user still uses the same IP address, they will continue seeing their segments, but no one else will. Their views will stay at zero, so their time saved and related stats will stop changing.
==== How can I recognize a banned user on SBB? ====
Banned users will have an ❌ in the shadow hidden column of their segments on SBB.
=== Temporary VIPs ===
Permanent VIPs can grant temporary channel-specific VIP voting powers to users.
Temporary VIPs can
* Add/ Remove locks on segments
* Bring back downvoted/ shadowhidden/ hidden segments
* Remove locked segments
* Instantly remove any segment
* Instantly change the category of any segment
Cannot...
* Submit on locked videos
* Do anything non-voting that other VIPs would be able to do
This permission only lasts for 24 hours and can only be granted for one channel at a time.
Temporary VIPs will have their reports show up as "Report by Temporary VIP User" in <code>#submission-downvotes</code>
This can be done on sb-slash<ref name=":0" /> and SBC<ref name=":1" />
== Moderating Videos ==
=== Knowledge of Categories ===
Read the [[Guidelines|guidelines]] and feel free to ask in the discord after checking the wiki.
=== Manipulating Segments ===
Voting and category changing can be done with SBC<ref name=":1" />, Deedit's userscript<ref name=":2">https://gist.github.com/FlorianZahn/785599a860328fae0724ad5b2b3f7879</ref> or on YouTube.
* Upvoting a segment will lock it. This means that it will always be shown and immune to downvotes, even from the submitter.
* Downvoting a segment will immediately remove it, no matter whose it is.
** Locked segments are marked yellow to warn the VIP, that this segment was approved by a VIP. If you aren't sure, search for the videoID/UUID in Discord or ask. Not all decisions are well documented.
* Undoing a vote will revert the segment's votes to what they were before your downvote or upvote. It will also remove other VIP's locks.
* If a segment is in a wrong category, you can change it directly on YouTube, SBC<ref name=":1" /> or sb-slash<ref name=":0" />
** Locked categories are colored yellow in the category selector. Be careful when changing to a locked category or submitting in one.
=== Locking Categories ===
* Review the entire video and make sure that all displayed segments are correct.
* Make sure to include a reason why segments should not be there if applicable.
* You can lock videos if you are concerned that segments will be spammed, before or after working on a video.
** It is explicitly allowed to lock popular videos at release to prevent spam.
* The most recent lock reason will be displayed.
*This can be done with sb-slash<ref name=":0" />, SBC<ref name=":1" />, SBBCool<ref>https://github.com/ducng99/SBBCoolHelper</ref> and sb.ltn.fi.lockCategories<ref name=":2" />
When users try to submit a category that is locked, they will receive the following message:
New submissions are not allowed for the following category: {category}. A moderator has decided that no new segments are needed on this video and that all current segments of this category are timed perfectly.
Lock reason: {reason}
If you believe this is incorrect, please contact someone on discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app
If the locked category is sponsor, the previous prompt will be expanded by this:
Maybe the segment you are submitting is a different category that you have not enabled and is not a sponsor. Categories that aren't sponsor, such as self-promotion can be enabled in the options.
=== Submitting Segments ===
Your segments should be perfectly accurate and follow the rules. This is because normal users cannot remove your segments and VIPs don't want to remove other VIPs' segments. If you are unsure, feel free to ask.
=== Abuse ===
Don't go around downvoting established segments. Odds are, you probably misunderstood the rules and could lose your VIP status if you are incorrigible.
=== Clearing Cache/ Purging Videos ===
Videos that have segments that are erroneously displaying even after they have been downvoted might need to have their cache cleared. Feel free to do this whenever but only if it does not resolve itself in a few refreshes. This can be done with SBC<ref name=":1" /> and sb-slash<ref name=":0" />
Videos that have been changed post-upload by the submitter (usually to remove a part of the video) and consequently have their segments offset should be cleared with "Purge Video". This can be done in SBC<ref name=":1" /> and sb-slash<ref name=":0" />. If there are segments that are still accurate enough, they can be un-hidden with a VIP upvote.
== SponsorBlock VIP UI ==
Shortly after becoming a VIP, your UI will highlight locked segments, similar to SBB.
Locked segments are usually submitted by VIPs or locked by VIPs. When submitting over a locked category, make sure that it wasn't purposefully excluded, either by checking the lock reason or asking the locking VIP in the discord.
[[File:Vipui-popup.png|none|thumb|Locked segments have a yellow downvote]]
[[File:Vip-ui-category-dropdown.png|none|thumb|Locked categories are highlighted in yellow]]
== Searching Segments ==
When searching for segments en masse, SBB is recommended but has an update delay of 10 minutes.
This can be mitigated with <code>[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181 sb.ltn.fi.forceupdate.user.js]</code> by TheJzoli to force get new segments and update existing ones
and <code>[https://gist.github.com/mchangrh/c693f8e1de2b6a5067ae9d5e994f6758/raw/sbltnfi-refresh.user.js sbltnfi-refresh.user.js]</code> by blab to force update a single segment
Alternatively sb-slash can be used to search for segments on videos
* /searchsegements - get all segments on video, regardless of votes or hidden status
* /skipsegments - get segments displayed on video
* /segmentinfo - look up information from the segment UUID including user agent
for quick/convenient moderation sb-slash's [https://github.com/mchangrh/sb-slash/blob/main/docs/vip.md /vip] command can also be used
== Reviewing Other Users For Permanent VIP ==
Applicants should have the <code>requesting VIP</code> role, otherwise approach them privately.
The most important thing for VIPs is to be consistent and receptive to feedback.
* When looking at their segments, we shouldn't give them a warning - see [[Guidelines]].
* They know what's good in their submissions.
* They know what's bad in their submissions.
* They're involved and consistent.
* They should have at least 25 submissions.
* They have to have submissions dating back at least a month.
* Their segments should be consistently good.
* They should have a good grasp on any category they've made a submission with.
== Tool Feature Matrix ==
{| class="wikitable mw-collapsible"
|+Tool Feature Matrix
!Tool Name
!Voting
!Change
Category
!Locking
Category
!Warning
!Unwarning
!Banning
!Temp
VIP
!Clearing
Cache
!Purging
Videos
|-
|Browser Extension
|✅
|✅
|
|
|
|
|
|
|
|-
|SponsorBlockControl
|✅
|✅
|✅
|✅
|✅
|✅
|✅
|✅
|✅
|-
|sb-slash
|✔️<sup>*</sup>
|✅
|✔️<sup>*</sup>
|
|✔️<sup>*</sup>
|
|✔️<sup>*</sup>
|✅
|✅
|-
|SBBCool
|✅
|✅
|✅
|
|
|
|
|
|✅
|-
|Deedit's Script
|✅
|✅
|✅
|
|
|
|
|✅
|✅
|}
<nowiki>*</nowiki> Actions done with sb-slash are not as anonymous, as they are logged to a VIP-only channel
=== Citations ===
[[Category:User Guides]]
6yuc119sclwaq4qk8r648z4nii8y7n5
Reputation
0
68
3340
3060
2023-11-03T19:46:05Z
MiniBomba
144
Add categories
3340
wikitext
text/x-wiki
=== Self-downvotes will '''''<u><big>not</big></u>''''' negatively affect your rep ===
This page is left intentionally vague
[[Category:User Guides]]
fbucw9z04uaflzpegp83uiklylzl5es
DeArrow/Guidelines
0
69
3373
3366
2023-11-05T15:47:24Z
Mschae23
1398
Rename section "Format" → "Series format"
3373
wikitext
text/x-wiki
In general, [[DeArrow]] titles and thumbnails should provide enough information so that a viewer can make an informed decision on whether they should choose to watch the video. Sensationalism should be avoided.
''Note that, in these guidelines, "clickbait" is being used as a neutral term referring to any materials used to convince someone to click on a link.''
== Titles ==
Titles are supposed to give you a good description of what's going to happen in the video.
=== Questions ===
Prefer a descriptive subject or a statement over questions. In many cases, this makes it easier to see what the video is actually about.
However, for open-ended questions, leaving it that way is fine.
==== Examples ====
* "Is X better than Y?" → "Comparing X and Y" or "Comparison between X and Y"
* "Who owns the moon?" can be left as-is, because it is an open-ended question.
=== Incomplete titles ===
Avoid using titles where some interesting information is intentionally left out to get the viewer's interest.
==== Examples ====
* "Intel does what?" → something that actually tells the viewer what Intel has done.
=== Emphasis ===
Avoid trying to emphasize certain words by using tricks like surrounding them with another character (like <code>*emphasized*</code>) or setting them into SHOUTING CASE.
=== Reactions ===
Avoid telling the viewer how they should react to the video. Note that is different from a title for a video about someone reacting to something else.
==== Examples ====
* "Shocking facts"
* "Funniest video"
* "You won't believe [...]"
=== Descriptiveness ===
Prefer actual information over simply telling the premise of the video, when possible. This should not end up spoiling the video.
==== Examples ====
* "Someone dead ruined my life again" → "Inconsistencies in historical documents when researching about Tiffany" [[https://www.youtube.com/watch?v=qEV9qoup2mQ video]]
* "Math has a fatal flaw" → "Not everything in math can be proven" [[https://www.youtube.com/watch?v=HeQX2HjkcNo video]]
* "The Snowflake Mystery" → "Creating artificial snowflakes and analyzing their growth" [[https://www.youtube.com/watch?v=ao2Jfm35XeE video]]
=== Perspective ===
Titles should not be written in the third person about the video creator, unless absolutely necessary. They should rather be in first person, or, preferably, in a passive voice describing the video.
Ideally, it should be a completely neutral description; however, this is sometimes not possible.
==== Examples ====
* "I explain hexagonal chess" → "Explaining the rules of hexagonal chess" → "The rules of hexagonal chess"
=== Length ===
Titles should not be overly long, as this can severely reduce its readability. However, a more descriptive title should still be preferred over a shorter one.
=== Language ===
All titles should be written in the language that the video itself is in. If the video contains text or spoken parts in multiple languages, either the main one
or the language of the audience should be used.
=== Fiction ===
For fiction pieces, such as short films or art pieces, feel free to leave titles be if they serve the mood, even if they are generic. Sensational titles can be changed or reformatted.
=== Songs ===
If the song is a mashup between two or more songs and doesn't already have an original title, the song titles should be separated with a slash (ie. <code> Song One / Song Two</code>).
== Thumbnails ==
The thumbnail should be chosen to help you know what kind of video you are about to watch, what it'll look like, what it will be like to watch it, etc.
* Avoid exaggerated facial expressions.
* Avoid relying on text.
* Avoid lots of colours.
* Avoid overuse of arrows.
* Avoid showing fake scenarios explaining the idea.
* Avoid unrelated thumbnails.
== Case ==
=== For submissions ===
All submitted titles should be in Sentence case (explained below). This is important even if you have personally selected another case in the options.
Of course, any words that would normally be capitalised should remain that way. Proper nouns or the word "I" in English are an example. In other languages,
it's possible that every noun is capitalised.
All titles (original and custom) are run through a formatter to convert to the user's casing choice. If there are issues with the formatter, you can force words to "keep formatting" by adding a right angle bracket (<code>></code>) in front of the word, such as <code>>word</code>.
=== Title Case ===
Almost Every Word is Capitalised.
=== Sentence case ===
The first word of the title is capitalised.
Similar to APA format's definition of sentence case, the first letter of a subtitle should be capitalised as well, such as after a hyphen, colon, or pipe (<code>-</code>, <code>:</code>, or <code>|</code>, respectively)<ref>https://apastyle.apa.org/style-grammar-guidelines/capitalization/sentence-case</ref>
== Series format ==
{| class="wikitable" style="float: right;"
|-
! Examples
|-
|
* Episode name | Series name S2:E3
* Banned | Hermitcraft S9:E36
----
Episode name | Series name notation – Season subtitle | Arc number – Subtitle
* Deception Derby | District Transport S1:E4:P2 – Unseen Fender | Arc 1 – Chaos Surcharge
----
Episode name | Series name notation
* The Mad Batter machine – the world's longest home run | Smarter Every Day E230
|}
=== Hierarchy: <code>|</code> ===
If a title exists, it should '''always''' be the first element.
Additional metadata for series should be arranged descending in hierarchy, separated with <code>|</code><ref group="Example">Deception Derby | District Transport Season 1 – Unseen Fender | Arc 1 – Chaos Surcharge | Episode 4</ref>.
=== Season and episode naming: <code>S#:E#:P#</code> ===
If there are seasons and episodes defined by the creator, they should be formatted as <code>S#:E#:P#</code>. <code>#</code> is a placeholder for the number in the series here.
<code>P#</code> is optional, if a single episode is separated into multiple parts.
Zero-padding (<code>S01</code>) the number should follow the existing style or convention of the channel.
==== Season-less or episode-less ====
Season-less, standalone episodes should be denoted only with <code>E#</code><ref group="Example">Deception Derby | District Transport E4</ref>.
Episode-less, standalone videos should be denoted with an unabbreviated <code>Part</code><ref group="Example">Deception Derby | Chaos Surcharge Part 1</ref>.
==== Daily shows ====
Shows without seasons or that are solely based on date should be formatted according to [[wikipedia:ISO_8601|ISO8601]], which is <code>YYYY-MM-DD</code><ref group="Example">Q&A Livestream | Deception Derby 1999-12-31</ref>
Variations such as <code>YYYY-DD-MM</code> or <code>YY-MM-DD</code> are not allowed, since they are ambiguous.
=== Subtitles: <code>–</code> ===
If there a subtitle to the series or episode, it should be separated with a hyphen (<code>-</code>) or an en dash (<code>–</code>) before the hierarchy separator<ref group="Example">Deception Derby | District Transport S1:E4 – Unseen Fender</ref>.
=== Additional metadata: <code>()</code> ===
If there is any additional metadata, it should be included in parentheses (<code>(...)</code>) at the end of the relevant part of the title, before the hierarchy separator<ref group="Example">Deception Derby (BTS) | ...</ref>.
Additional metadata can be:
* Featured artists: <code>(ft. John Doe)</code>
* Speedrun categories or modifiers: <code>(any%)</code> <code>(blindfolded)</code>
* Other modifiers that might distinguish it from another part: <code>(BTS)</code>
* Year for media that might have a popular name or multiple iterations: <code>Call of Duty Modern Warfare (2019)</code>
=== Examples and footnotes ===
{| class="wikitable"
|+For the purposes of documentation, a fictional show "District Transport" is used.<br>Titles are generated using a wordlist.
!Episode Title
!Series Name
!Season #
!Season Subtitle
!Episode #
!Part #
!Arc #
!Arc Subtitle
|-
|Deception Derby
|District Transport
|1
|Unseen Fender
|4
|2
|1
|Chaos Surcharge
|}
<references group="Example" />
== References ==
<references />
[[Category:DeArrow Guidelines| ]]
q4gbswxrqls934tjnqgd4pk53zy2myy
Clickbait
0
70
3286
3079
2023-11-03T18:55:22Z
MiniBomba
144
Fix broken redirect
3286
wikitext
text/x-wiki
#REDIRECT [[DeArrow/Guidelines]]
ldtteb4e316meuha0xlzfy0o2fv68fk
SponsorBlock:Privacy policy
4
71
568
2021-09-29T01:35:49Z
Ajay
1
Created page with "Based on https://foundation.wikimedia.org/w/index.php?title=Privacy_policy&action=edit\ This wiki collects whatever information is collected by default by MediaWiki software...."
568
wikitext
text/x-wiki
Based on https://foundation.wikimedia.org/w/index.php?title=Privacy_policy&action=edit\
This wiki collects whatever information is collected by default by MediaWiki software.
***
This Policy explains how we collect, use, and share your Personal Information.
*We collect very little Personal Information about you.
*We do not rent or sell your Personal Information to third parties.
By using this site, you consent to this Policy.
====Definitions====
We recognize that only a minority of you are familiar with technical terms like "tracking pixels" and "cookies" used in the Privacy Policy.
Whether you are brand new to privacy terminology or you are an expert who just wants a refresher, you might find our [[Privacy policy/Glossary of key terms|Glossary of Key Terms]] helpful.}}
Because everyone (not just lawyers) should be able to easily understand how and why their information is collected and used, we use common language instead of more formal terms throughout this Policy. To help ensure your understanding of some particular key terms, here is a table of translations:
====What This Privacy Policy Does & Doesn't Cover====
Except as explained below, this Privacy Policy applies to our collection and handling of information about you that we receive as a result of your use of any of the this wiki.
This Policy explains how we collect, use, and share your Personal Information.
*We collect very little Personal Information about you.
*We do not rent or sell your Personal Information to third parties.
By using this site, you consent to this Policy.
====What This Privacy Policy Does & Doesn't Cover====
Except as explained below, this Privacy Policy applies to our collection and handling of information about you that we receive as a result of your use of any of the this wiki.
==<span class="nomobile">[[File:WMF chart.png|60px]]</span> Collection & Use of Info==
===Types of Information We Receive From You & How We Get It===
====Your Public Contributions====
Whatever you post on this MediaWiki can be seen and used by everyone.
When you make a contribution to any Wikimedia Site, including on user or discussion pages, you are creating a permanent, public record of every piece of content added, removed, or altered by you. The page history will show when your contribution or deletion was made, as well as your username (if you are signed in) or your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] (if you are not signed in). We may use your public contributions, either aggregated with the public contributions of others or individually, to create new features or data-related products for you or to learn more about how the this MediaWiki are used, as further explained below in the [[#use|"How We Use Information We Receive From You"]] section of this Privacy Policy.
Unless this Policy says otherwise, you should assume that information that you actively contribute to the this MediaWiki, including Personal Information, is publicly visible and can be found by search engines. Like most things on the Internet, anything you share may be copied and redistributed throughout the Internet by other people. Please do not contribute any information that you are uncomfortable making permanently public, like revealing your real name or location in your contributions.
You should be aware that specific data made public by you or aggregated data that is made public by us can be used by anyone for analysis and to infer further information, such as which country a user is from, political affiliation and gender.
====Account Information & Registration====
You do not need to create an account to use any Wikimedia Site.
If you do create an account, you do not need to give us your name or email address (although you can if you choose to, such as for the "Email this user" feature for example).
If you do not create an account, your contributions will be publicly attributed to your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]].
Want to create an account? Great! Don't want to create an account? No problem!
You are not required to create an account to read or contribute to a Wikimedia Site, except under [[Privacy policy/FAQ#needaccount|rare circumstances]]. However, if you contribute without signing in, your contribution will be publicly attributed to the [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] associated with your device.
If you want to create a [[Privacy policy/FAQ#standardaccount|standard account]], in most cases we require only a username and a password. However, if you choose not to provide an email address, we can't help you recover your password.
Your username will be publicly visible, so please be careful about revealing your real name or other Personal Information in your username. Your password is only used to verify that the account is yours. Your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] is also automatically submitted to us, and we record it temporarily. This is to protect Wikimedia users and project content; in the event of abuse, IP addresses may be associated with usernames as part of an investigation. No other Personal Information is required: no name, no email address, no date of birth, and no credit card information.
Once created, user accounts cannot be removed entirely (although you can usually hide the information on your user page if you choose to). This is because your public contributions must be associated with their author (you!). In some circumstances, the Wikimedia communities [[m:Special:MyLanguage/Right to vanish|can assist]] users with removing additional information related to their account from the projects.
To gain a better understanding of the demographics of our users, to localize our services and to learn how we can improve our services, we may ask you for more demographic information, such as gender or age, about yourself. We will tell you if such information is intended to be public or private, so that you can make an informed decision about whether you want to provide us with that information. Providing such information is always completely optional. If you don't want to, you don't have to—it's as simple as that.
=====GPS & Other Location Technologies=====
Some features we offer work better if we know what area you are in.
If you consent, we can use [[Privacy policy/Glossary of key terms#GPS|GPS]] (and other technologies commonly used to determine location) to show you more relevant content. We keep information obtained by these technologies confidential, except as provided in this Policy. You can learn more by checking out the list of examples of how we use these technologies in our [[Privacy policy/FAQ#gpsexamplesFAQ|FAQ]].
=====Metadata=====
Sometimes, we automatically receive location data from your device. For example, if you want to upload a photo on the Wikimedia Commons mobile app, we may receive [[Privacy policy/Glossary of key terms#Metadata|metadata]], such as the place and time you took the photo, automatically from your device. Please be aware that, unlike location information collected using GPS signals described above, the default setting on your mobile device typically includes the metadata in your photo or video upload to the this MediaWiki. If you do not want metadata sent to us and made public at the time of your upload, please change your settings on your device.
=====IP Addresses=====
Finally, when you visit any Wikimedia Site, we automatically receive the [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] of the device (or your [[Privacy policy/Glossary of key terms#Proxy Servers|proxy server]]) you are using to access the Internet, which could be used to [[Privacy policy/FAQ#inferlocationFAQ|infer your geographical location]].
===Information Related to Your Use of the this MediaWiki===
We use certain technologies to collect information about how you use this MediaWiki.
Like other websites, we receive some information about you automatically when you visit the this MediaWiki.
We also use a variety of commonly-used technologies, like cookies, to collect information regarding how you use the this MediaWiki, make our services safer and easier to use, and to help create a better and more customizable experience for you.
We want to make the this MediaWiki better for you by learning more about how you use them. Examples of this might include how often you visit the this MediaWiki, what you like, what you find helpful, how you get to the this MediaWiki, and whether you would use a helpful feature more if we explained it differently. We also want this Policy and our practices to reflect our community's values. For this reason, we keep information related to your use of the this MediaWiki confidential, except as provided in this Policy.
====Information We Receive Automatically====
Because of how browsers work, we receive some information automatically when you visit the this MediaWiki. This includes when you use an online tool on a third-party site that loads information coming from the this MediaWiki. This information includes the type of device you are using (possibly including unique device identification numbers, for some beta versions of our mobile applications), the type and version of your [[Privacy policy/Glossary of key terms#Browsers|browser]], your browser's language preference, the type and version of your device's [[Privacy policy/Glossary of key terms#Operating System|operating system]], in some cases the name of your internet service provider or mobile carrier, the website that referred you to the this MediaWiki, which pages you request and visit, and the date and time of each request you make to the this MediaWiki.
Put simply, we use this information to enhance your experience with this MediaWiki. For example, we use this information to administer the sites, provide greater security, and fight vandalism; optimize mobile applications, customize content and set language preferences, test features to see what works, and improve performance; understand how users interact with the this MediaWiki, track and study use of various features, gain understanding about the demographics of the different this MediaWiki, and analyze trends.
====Information We Collect====
We use a variety of commonly-used technologies, like cookies, to understand how you use the this MediaWiki, make our services safer and easier to use, and to help create a better and more customizable experience for you.
We actively collect some types of information with a variety of commonly-used technologies. These generally include [[Privacy policy/Glossary of key terms#Tracking Pixel|tracking pixels]], [[Privacy policy/Glossary of key terms#JavaScript|JavaScript]], and a variety of "locally stored data" technologies, such as [[Privacy policy/Glossary of key terms#Cookies|cookies]] and [[Privacy policy/Glossary of key terms#Local Storage|local storage]]. These types of technologies may also be used in online tools on a third-party site that loads information from the this MediaWiki. We realize that some of these technologies do not have the best reputation in town and can be used for less-than-noble purposes. So we want to be as clear as we can about why we use these methods and the type of information we collect with them.
Depending on which technology we use, locally stored data may include text, Personal Information (like your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]]), and information about your use of the this MediaWiki (like your username or the time of your visit). See below for more information.
We use this information to make your experience with the this MediaWiki safer and better, to gain a greater understanding of user preferences and their interaction with the this MediaWiki, and to generally improve our services. We will never use third-party cookies, unless we get your permission to do so. If you ever come across a third-party data collection tool that has not been authorized by you (such as one that may have been mistakenly placed by another user or administrator), please report it to us at [mailto:privacy@wikimedia.org privacy@wikimedia.org].
Locally stored data, JavaScript, and tracking pixels help us do things like:
* Provide you with a customizable experience, such as using cookies to know your language preference, to remember the user preferences you set so we can provide you with the customized look and feel that you want, and to tell you about interesting Wikimedia issues and events in your area.
* Deliver more relevant content to you faster. For example, we use local storage to store your most recently read articles directly on your device, so they can be retrieved quickly. Also, we use cookies to learn about the topics searched so that we can optimize the search results we deliver to you.
* Understand how you use the this MediaWiki, so that we know what works and what is useful. For example, we might use cookies to learn about the list of articles you are following on your watchlist so that we can recommend similar articles that you may be interested in.
* Understand how you use the this MediaWiki across different devices, so that we can make our varied this MediaWiki more efficient and effective for you.
* Make the this MediaWiki more convenient to use, such as by using cookies to maintain your session when you log in or to remember your username in the login field.
Want to know even more? You can read more about some of the specific cookies we use, when they expire, and what we use them for in our [[Privacy policy/FAQ#cookieFAQ|FAQ]].
We believe this data collection helps improve your user experience, but you may remove or disable some or all locally stored data through your browser settings, depending on your browser. You can learn more about some options you have in our [[Privacy policy/FAQ#limitstorageFAQ|FAQ]]. While locally stored data may not be necessary to use our sites, some features will not function properly if you disable locally stored data.
While the examples above concerning information about you collected through the use of data collection tools are kept confidential in accordance with this Policy, please note that some information about the actions taken by your username is made publicly available through [[Privacy_policy/FAQ#publiclogsFAQ|public logs]] alongside actions taken by other users. For example, a public log may include the date your account was created on a Wikimedia Site along with the dates that other accounts were created on a Wikimedia Site.
====General====
We and our service providers use your information for the legitimate purpose, including:
* To help you share your knowledge with the world and add new features to our Services.
* To arrange access to your account and provide you with related service.
* To send administrative information to you, such as changes to our policies.
* To allow you to send messages to another person if you choose to do so. Direct communications between users (such as messages sent through the "Email this user" feature), to the extent such communications are nonpublic and stored in or in transit through Wikimedia Foundation systems, are kept confidential by us, except as provided in this Policy.
We engage in these activities to manage our relationship with you, because we have a legitimate interest and/or to comply with our legal obligations.
{{Privacypolicy/Rheader|content=
=====IP Addresses=====
}}
When you visit any Wikimedia Site, we automatically receive the IP address of the device (or your proxy server) you are using to access the Internet, which could be used to infer your geographical location. We keep IP addresses confidential, except as provided in this Policy. If you are visiting this MediaWiki with your mobile device, we may use your IP address to provide anonymized or aggregated information to service providers regarding the volume of usage in certain areas.
We use this location information to make your experience with the this MediaWiki safer and better, to gain a greater understanding of user preferences and their interaction with the this MediaWiki, and to generally improve our services. For example, we use this information to provide greater security, optimize mobile applications, and learn how to expand and better support Wikimedia communities. We also use Personal Information in the manner described in the sections of this Policy titled "For Legal Reasons" and "To Protect You, Ourselves & Others."
<span id="sharing"></span>
==<span class="nomobile">[[File:WMF share.png|60px]]</span> Sharing==
{{Privacypolicy/Rheader|content=
{{anchor|when-we-may-share}}
===When May We Share Your Information?===
}}
We use and share your Personal Information when you give us specific permission to do so, for legal reasons, and in the other circumstances described below.
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-with-permission}}
====With Your Permission====
}}
We share your Personal Information for a particular purpose, if you agree. For example, if you receive a scholarship and we ask permission to share your Personal Information with a local chapter. You can find more information in the list of examples in our [[Privacy policy/FAQ#permissionexamplesFAQ|FAQ]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-legal-reasons}}
====For Legal Reasons====
}}
We will disclose your Personal Information to public authorities or other persons in response to an official legal process only if we believe it to be legally valid. See also our [[Requests for user information procedures & guidelines|Requests for user information procedures and guidelines]]. We will notify you of such requests when possible. We do so to further our legitimate interest and/or to comply with our legal obligations.
}}
We will access, use, preserve, and/or disclose your Personal Information if we reasonably believe it necessary to satisfy a valid and legally enforceable warrant, subpoena, court order, law or regulation, or other judicial or administrative order. However, if we believe that a particular request for disclosure of a user's information is legally invalid or an abuse of the legal system and the affected user does not intend to oppose the disclosure themselves, we will try our best to fight it. We are committed to notifying you via email at least ten (10) calendar days, when possible, before we disclose your Personal Information in response to a legal demand. However, we may only provide notice if we are not legally restrained from contacting you, there is no credible threat to life or limb that is created or increased by disclosing the request, and you have provided us with an email address.
Nothing in this Privacy Policy is intended to limit any legal objections or defenses you may have to a third party's request (whether it be civil, criminal, or governmental) to disclose your Personal Information. We recommend seeking the advice of legal counsel immediately if such a request is made involving you.
For more information, see our [[Subpoena FAQ|Subpoena FAQ]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-org-transfer}}
====If the Organization is Transferred (Really Unlikely!)====
}}
In the unlikely event that the ownership of the Foundation changes, we will provide you 30 days' notice before any Personal Information is transferred to the new owners or becomes subject to a different privacy policy.
}}
In the extremely unlikely event that ownership of all or substantially all of the Foundation changes, or we go through a reorganization (such as a merger, consolidation, or acquisition), consistent with our legitimate interest, we will continue to keep your Personal Information confidential, except as provided in this Policy, and provide notice to you via the this MediaWiki and a notification on [https://lists.wikimedia.org/mailman/listinfo/wikimediaannounce-l WikimediaAnnounce-L] or similar mailing list at least thirty (30) calendar days before any Personal Information is transferred or becomes subject to a different privacy policy.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-to-protect-people}}
====To Protect You, Ourselves & Others====
}}
We, or users with certain administrative rights, use and disclose Personal Information that is reasonably necessary to:
* enforce or investigate potential violations of the Wikimedia Foundation or community-based policies;
* protect our organization, infrastructure, employees, contractors, or the public; or
* prevent imminent or serious bodily harm or death to a person.
We do so to manage our relationship with you, to further our legitimate interest, and/or to comply with our legal obligations.
}}
We, or particular users with certain administrative rights as described below, need to use and share your Personal Information if it is reasonably believed to be necessary to enforce or investigate potential violations of our [[wmf:Terms of Use|Terms of Use]], this Privacy Policy, or any Wikimedia Foundation or user community-based policies. We may also need to access and share Personal Information to investigate and defend ourselves against legal threats or actions.
this MediaWiki are collaborative, with users writing most of the policies and selecting from amongst themselves people to hold certain administrative rights. These rights may include access to limited amounts of otherwise nonpublic information about recent contributions and activity by other users. They use this access to help protect against vandalism and abuse, fight harassment of other users, and generally try to minimize disruptive behavior on the this MediaWiki. These various user-selected administrative groups have their own privacy and confidentiality guidelines, but all such groups are supposed to agree to follow our [[Access to nonpublic information policy|Access to Nonpublic Information Policy]]. These user-selected administrative groups are accountable to other users through checks and balances: users are selected through a community-driven process and overseen by their peers through a logged history of their actions. However, the legal names of these users are not known to the Wikimedia Foundation.
We hope that this never comes up, but we may disclose your Personal Information if we believe that it's reasonably necessary to prevent imminent and serious bodily harm or death to a person, or to protect our organization, employees, contractors, users, or the public. We may also disclose your Personal Information if we reasonably believe it necessary to detect, prevent, or otherwise assess and address potential spam, malware, fraud, abuse, unlawful activity, and security or technical concerns. (Check out the list of examples in our [[Privacy policy/FAQ#investigateuseFAQ|FAQ]] for more information.)
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-to-our-sp}}
====To Our Service Providers====
}}
We disclose Personal Information to our third party service providers or contractors to help run or improve the this MediaWiki and provide services in support of our mission.
}}
We use third-party service providers or contractors to help run or improve the this MediaWiki for you and other users. We give access to your Personal Information to these providers or contractors as needed to perform their services for us or to use their tools and services. We put requirements, such as confidentiality agreements, in place to help ensure that these service providers treat your Personal Information consistently with, and no less protective of your privacy than, the principles of this Policy. For further information, please see our [[Privacy policy/FAQ#thirdpartyshareexamplesFAQ|FAQ]].)
If you are visiting this MediaWiki with your mobile device, we use your IP address to provide anonymized or aggregated information to service providers regarding the volume of usage in certain areas.
Some of our service providers ask us to post links to their privacy policies; a list of these service providers and links to their policies can be found [[Privacy policy/Supplement|on this page]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-to-experiment}}
====To Understand & Experiment====
}}
* We give volunteer developers and researchers access to systems that contain your Personal Information to allow them to protect, develop, and contribute to the this MediaWiki.
* We also share non-Personal Information or aggregated information with third parties interested in studying the this MediaWiki.
* When we share Personal Information with third parties for these purposes, we put reasonable technical and contractual protections in place to protect your Personal Information consistent with this Policy and our legitimate interest.
}}
{{Privacypolicy/Right
The open-source software that powers the this MediaWiki depends on the contributions of volunteer software developers, who spend time writing and testing code to help it improve and evolve with our users' needs. To facilitate their work, we give some developers limited access to systems that contain your Personal Information, but only as reasonably necessary for them to develop and contribute to the this MediaWiki.
Similarly, we share non-Personal Information or aggregated information with researchers, scholars, academics, and other interested third parties who wish to study the this MediaWiki. Sharing this Personal Information helps them understand usage, viewing, and demographics statistics and patterns. They then can share their findings with us and our users so that we can all better understand and improve the this MediaWiki.
When we give access to Personal Information to third-party developers or researchers, we put requirements, such as reasonable technical and contractual protections, in place to help ensure that these service providers treat your Personal Information consistently with the principles of this Policy and in accordance with our instructions. If these developers or researchers later publish their work or findings, we ask that they not disclose your Personal Information. Please note that, despite the obligations we impose on developers and researchers, we cannot guarantee that they will abide by our agreement, nor do we guarantee that we will regularly screen or audit their projects. (You can learn more about re-identification in our [[Privacy policy/FAQ#reidentifiationFAQ|FAQ]].)
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-because-public}}
====Because You Made It Public====
}}
Information that you post is public and can be seen and used by everyone.
}}
Any information you post publicly on the this MediaWiki is just that – public. For example, if you put your mailing address on your talk page, that is public, and not specifically protected by this Policy. And if you edit without registering or logging into your account, your IP address will be seen publicly. Please think carefully about your desired level of privacy before you disclose Personal Information on your user page or elsewhere.
| arrow text = Back to top
}}
{{anchor|protection}}
==<span class="nomobile">[[File:WMF safe.png|60px]]</span> Protection==
{{Privacypolicy/Rheader|content=
{{anchor|protection-means}}
===How Do We Protect Your Personal Information?===
}}
We use a variety of physical and technical measures, policies, and procedures to help protect your Personal Information from unauthorized access, use, or disclosure.
}}
{{Privacypolicy/Right
We strive to protect your Personal Information from unauthorized access, use, or disclosure. We use a variety of physical and technical measures, policies, and procedures (such as access control procedures, network firewalls, and physical security) designed to protect our systems and your Personal Information. Unfortunately, there's no such thing as completely secure data transmission or storage, so we can't guarantee that our security will not be breached (by technical measures or through violation of our policies and procedures).
We will never ask for your password by email (but may send you a temporary password via email if you have requested a password reset). If you ever receive an email that requests your password, <u>please let us know by sending it to privacy@wikimedia.org, so we can investigate the source of the email</u>.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|protection-duration}}
===How Long Do We Keep Your Data?===
}}
Except as otherwise stated in this Policy, we only keep your Personal Information as long as necessary to maintain, understand and improve the this MediaWiki or to comply with applicable law.
}}
Once we receive Personal Information from you, we keep it for the shortest possible time that is consistent with the maintenance, understanding, and improvement of the this MediaWiki, and our obligations under applicable law. In most instances, Personal Information is deleted, aggregated or de-identified after 90 days. Non-Personal Information may be retained indefinitely as appropriate. (Check out the list of examples in our [[Privacy policy/FAQ#datatimeexamplesFAQ|FAQ]].)
{{anchor|rememberIPindef}}
Please remember that when you make a contribution to any Wikimedia Site, the page history will show when your contribution was made, your username (if you are signed in), or your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] (if you edit while not logged in). The transparency of the projects' contribution and revision histories is critical to their efficacy and trustworthiness. To learn more about our data retention practices, see our [[Special:MyLanguage/Data retention guidelines|data retention guidelines]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
===Your rights===
}}
If you would like to request access to or removal of your Personal Information, you may contact us.}}
For information about how you may request removal of your Personal Information, or other rights you may have with respect to your Personal Information, see our [[Privacy_policy/FAQ#anonymize|FAQ]]. If you would like to request to access, update or restrict/object to the processing of Personal Information, or receive a copy of your Personal Information for purposes of transmitting it to another organization, you may [[Privacy policy#important|Contact Us]]. We will respond to your request consistent with applicable law.
Please note also that you may be able to exercise some of these rights without our intervention. For example, if you are a registered user, you can access and update some Personal Information in your Preferences, as well as download your user account data. You may also manage what kinds of notifications you receive and how often you receive them by going to your Notifications Preferences.
| arrow text = Back to top
}}
{{anchor|important}}
==<span class="nomobile">[[File:WMF sign.png|60px]]</span> Important info==
{{Privacypolicy/Rheader|content=
'''For the protection of the Wikimedia Foundation and other users, if you do not agree with this Privacy Policy, you may not use the this MediaWiki.'''
{{anchor|where-is-the-wmf}}
===Where is the Foundation & What Does That Mean for Me?===
}}
{{Privacypolicy/Right
The Wikimedia Foundation is a non-profit organization based in San Francisco, California, with servers and data centers located in the U.S. If you decide to use this MediaWiki, whether from inside or outside of the U.S., you understand that your Personal Information will be collected, transferred, stored, processed, disclosed and otherwise used in the U.S. as described in this Privacy Policy. You also understand that your information may be transferred by us from the U.S. to other countries, which may have different or less stringent data protection laws than your country, in connection with providing services to you.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|DNT}}
===Our Response to Do Not Track (DNT) signals===
}}
We are strongly committed to protecting users' Personal Information. Under this Policy, we may share your information only under particular situations, which you can learn more about in the [[#sharing|"When May We Share Your Information"]] section of this Privacy Policy. In particular, we do not share your Personal Information for marketing purposes.
Because we protect all users in accordance with this Privacy Policy, we do not change our behavior in response to a web browser's "do not track" signal. For more information regarding Do Not Track signals and how we handle them, please visit our [[Privacy policy/FAQ#DNTFAQ|FAQ]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|changes}}
===Changes to This Privacy Policy===
}}
Substantial changes to this Policy will not be made until after a public comment period of at least 30 days.
Because things naturally change over time and we want to ensure our Privacy Policy accurately reflects our practices and the law, it may be necessary to modify this Privacy Policy from time to time. We reserve the right to do so in the following manner:
* In the event of substantial changes, we will provide the proposed changes to our users in at least three (3) languages (selected at our discretion) for an open comment period lasting at least thirty (30) calendar days. Prior to the start of any comment period, we will provide notice of such changes and the opportunity to comment via the this MediaWiki, and via a notification on [https://lists.wikimedia.org/mailman/listinfo/wikimediaannounce-l WikimediaAnnounce-L] or a similar mailing list.
* For minor changes, such as grammatical fixes, administrative or legal changes, or corrections of inaccurate statements, we will post the changes and, when possible, provide at least three (3) calendar days' prior notice via [https://lists.wikimedia.org/mailman/listinfo/wikimediaannounce-l WikimediaAnnounce-L] or similar mailing list.
We ask that you please review the most up-to-date version of our Privacy Policy. Your continued use of the this MediaWiki after any effective date of a subsequent version of this Privacy Policy constitutes acceptance of this Privacy Policy on your part.
| arrow text = Back to top
{{Privacypolicy/Rheader|content=
{{anchor|contact-us}}
===Contact Us===
If you have questions or suggestions about this Privacy Policy, or the information collected under this Privacy Policy, please email us at [mailto:privacy@wikimedia.org privacy@wikimedia.org] or [[wmf:Contact us|contact us]] directly. If you are located in the European Economic Area and have questions about your personal data or would like to request to access, update, or delete it, you may contact our representative via email at EUrepresentative.Wikimedia@twobirds.com, or via mail at:
:Bird & Bird GDPR Representative Ireland
:29 Earlsfort Terrace
:Dublin 2
:D02 AY28
:Ireland
:Main point of contact: Vincent Rezzouk-Hammachi
If you are an individual located in the United Kingdom, and have questions about your personal data or would like to request to access, update, or delete it, you may contact our representative via email at UKrepresentative.Wikimedia@twobirds.com, or via mail at:
:Bird & Bird GDPR Representative Services UK
:12 New Fetter Lane
:London
:EC4A 1JP
:United Kingdom
:Main point of contact: Vincent Rezzouk-Hammachi
Our European Economic Area and United Kingdom Representative can only be contacted for queries in relation to data protection.
Depending on your jurisdiction, you also may have the right to lodge a complaint with a supervisory authority competent for your country or region.
}}
==<span class="nomobile">[[File:WMF chart.png|60px]]</span> Collection & Use of Info==
===Types of Information We Receive From You & How We Get It===
{{anchor|your-public-contribs}}
====Your Public Contributions====
}}
Whatever you post on this MediaWiki can be seen and used by everyone.
}}
{{Privacypolicy/Right
When you make a contribution to any Wikimedia Site, including on user or discussion pages, you are creating a permanent, public record of every piece of content added, removed, or altered by you. The page history will show when your contribution or deletion was made, as well as your username (if you are signed in) or your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] (if you are not signed in). We may use your public contributions, either aggregated with the public contributions of others or individually, to create new features or data-related products for you or to learn more about how the this MediaWiki are used, as further explained below in the [[#use|"How We Use Information We Receive From You"]] section of this Privacy Policy.
{{Hidden
|header=Publicly Visible Information
|content=Unless this Policy says otherwise, you should assume that information that you actively contribute to the this MediaWiki, including Personal Information, is publicly visible and can be found by search engines. Like most things on the Internet, anything you share may be copied and redistributed throughout the Internet by other people. Please do not contribute any information that you are uncomfortable making permanently public, like revealing your real name or location in your contributions.
You should be aware that specific data made public by you or aggregated data that is made public by us can be used by anyone for analysis and to infer further information, such as which country a user is from, political affiliation and gender.
}}
| arrow text = Back to top
}}
{{anchor|your-account-info}}
====Account Information & Registration====
}}
You do not need to create an account to use any Wikimedia Site.
If you do create an account, you do not need to give us your name or email address (although you can if you choose to, such as for the "Email this user" feature for example).
If you do not create an account, your contributions will be publicly attributed to your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]].
}}
Want to create an account? Great! Don't want to create an account? No problem!
{{anchor|notrequired}}
You are not required to create an account to read or contribute to a Wikimedia Site, except under [[Privacy policy/FAQ#needaccount|rare circumstances]]. However, if you contribute without signing in, your contribution will be publicly attributed to the [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] associated with your device.
{{anchor|noaccount}}
If you want to create a [[Privacy policy/FAQ#standardaccount|standard account]], in most cases we require only a username and a password. However, if you choose not to provide an email address, we can't help you recover your password.
{{Hidden
|header=More on Usernames
|content=Your username will be publicly visible, so please be careful about revealing your real name or other Personal Information in your username. Your password is only used to verify that the account is yours. Your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] is also automatically submitted to us, and we record it temporarily. This is to protect Wikimedia users and project content; in the event of abuse, IP addresses may be associated with usernames as part of an investigation. No other Personal Information is required: no name, no email address, no date of birth, and no credit card information.
Once created, user accounts cannot be removed entirely (although you can usually hide the information on your user page if you choose to). This is because your public contributions must be associated with their author (you!). In some circumstances, the Wikimedia communities [[m:Special:MyLanguage/Right to vanish|can assist]] users with removing additional information related to their account from the projects.
}}
To gain a better understanding of the demographics of our users, to localize our services and to learn how we can improve our services, we may ask you for more demographic information, such as gender or age, about yourself. We will tell you if such information is intended to be public or private, so that you can make an informed decision about whether you want to provide us with that information. Providing such information is always completely optional. If you don't want to, you don't have to—it's as simple as that.
|arrow text=Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|location-info}}
====Location Information====
}}
{{Privacypolicy/Rheader|content=
{{anchor|GPS}}
=====GPS & Other Location Technologies=====
}}
Some features we offer work better if we know what area you are in.
}}
If you consent, we can use [[Privacy policy/Glossary of key terms#GPS|GPS]] (and other technologies commonly used to determine location) to show you more relevant content. We keep information obtained by these technologies confidential, except as provided in this Policy. You can learn more by checking out the list of examples of how we use these technologies in our [[Privacy policy/FAQ#gpsexamplesFAQ|FAQ]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|metadata}}
=====Metadata=====
}}
Sometimes, we automatically receive location data from your device. For example, if you want to upload a photo on the Wikimedia Commons mobile app, we may receive [[Privacy policy/Glossary of key terms#Metadata|metadata]], such as the place and time you took the photo, automatically from your device. Please be aware that, unlike location information collected using GPS signals described above, the default setting on your mobile device typically includes the metadata in your photo or video upload to the this MediaWiki. If you do not want metadata sent to us and made public at the time of your upload, please change your settings on your device.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|ipinfouse}}
=====IP Addresses=====
}}
Finally, when you visit any Wikimedia Site, we automatically receive the [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] of the device (or your [[Privacy policy/Glossary of key terms#Proxy Servers|proxy server]]) you are using to access the Internet, which could be used to [[Privacy policy/FAQ#inferlocationFAQ|infer your geographical location]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|your-use-of-wm-sites}}
===Information Related to Your Use of the this MediaWiki===
}}
We use certain technologies to collect information about how you use this MediaWiki.
Like other websites, we receive some information about you automatically when you visit the this MediaWiki.
We also use a variety of commonly-used technologies, like cookies, to collect information regarding how you use the this MediaWiki, make our services safer and easier to use, and to help create a better and more customizable experience for you.
}}
We want to make the this MediaWiki better for you by learning more about how you use them. Examples of this might include how often you visit the this MediaWiki, what you like, what you find helpful, how you get to the this MediaWiki, and whether you would use a helpful feature more if we explained it differently. We also want this Policy and our practices to reflect our community's values. For this reason, we keep information related to your use of the this MediaWiki confidential, except as provided in this Policy.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|info-received-automatically}}
====Information We Receive Automatically====
}}
Because of how browsers work, we receive some information automatically when you visit the this MediaWiki. This includes when you use an online tool on a third-party site that loads information coming from the this MediaWiki. This information includes the type of device you are using (possibly including unique device identification numbers, for some beta versions of our mobile applications), the type and version of your [[Privacy policy/Glossary of key terms#Browsers|browser]], your browser's language preference, the type and version of your device's [[Privacy policy/Glossary of key terms#Operating System|operating system]], in some cases the name of your internet service provider or mobile carrier, the website that referred you to the this MediaWiki, which pages you request and visit, and the date and time of each request you make to the this MediaWiki.
Put simply, we use this information to enhance your experience with this MediaWiki. For example, we use this information to administer the sites, provide greater security, and fight vandalism; optimize mobile applications, customize content and set language preferences, test features to see what works, and improve performance; understand how users interact with the this MediaWiki, track and study use of various features, gain understanding about the demographics of the different this MediaWiki, and analyze trends.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|info-collected}}
====Information We Collect====
}}
We use a variety of commonly-used technologies, like cookies, to understand how you use the this MediaWiki, make our services safer and easier to use, and to help create a better and more customizable experience for you.
}}
We actively collect some types of information with a variety of commonly-used technologies. These generally include [[Privacy policy/Glossary of key terms#Tracking Pixel|tracking pixels]], [[Privacy policy/Glossary of key terms#JavaScript|JavaScript]], and a variety of "locally stored data" technologies, such as [[Privacy policy/Glossary of key terms#Cookies|cookies]] and [[Privacy policy/Glossary of key terms#Local Storage|local storage]]. These types of technologies may also be used in online tools on a third-party site that loads information from the this MediaWiki. We realize that some of these technologies do not have the best reputation in town and can be used for less-than-noble purposes. So we want to be as clear as we can about why we use these methods and the type of information we collect with them.
Depending on which technology we use, locally stored data may include text, Personal Information (like your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]]), and information about your use of the this MediaWiki (like your username or the time of your visit). See below for more information.
We use this information to make your experience with the this MediaWiki safer and better, to gain a greater understanding of user preferences and their interaction with the this MediaWiki, and to generally improve our services. We will never use third-party cookies, unless we get your permission to do so. If you ever come across a third-party data collection tool that has not been authorized by you (such as one that may have been mistakenly placed by another user or administrator), please report it to us at [mailto:privacy@wikimedia.org privacy@wikimedia.org].
{{Hidden
|header=More on Locally Stored Data
|content=
Locally stored data, JavaScript, and tracking pixels help us do things like:
* Provide you with a customizable experience, such as using cookies to know your language preference, to remember the user preferences you set so we can provide you with the customized look and feel that you want, and to tell you about interesting Wikimedia issues and events in your area.
* Deliver more relevant content to you faster. For example, we use local storage to store your most recently read articles directly on your device, so they can be retrieved quickly. Also, we use cookies to learn about the topics searched so that we can optimize the search results we deliver to you.
* Understand how you use the this MediaWiki, so that we know what works and what is useful. For example, we might use cookies to learn about the list of articles you are following on your watchlist so that we can recommend similar articles that you may be interested in.
* Understand how you use the this MediaWiki across different devices, so that we can make our varied this MediaWiki more efficient and effective for you.
* Make the this MediaWiki more convenient to use, such as by using cookies to maintain your session when you log in or to remember your username in the login field.
}}
{{anchor|KnowMoreCookiesReturn}}
Want to know even more? You can read more about some of the specific cookies we use, when they expire, and what we use them for in our [[Privacy policy/FAQ#cookieFAQ|FAQ]].
{{anchor|LimitStorageReturn}}
We believe this data collection helps improve your user experience, but you may remove or disable some or all locally stored data through your browser settings, depending on your browser. You can learn more about some options you have in our [[Privacy policy/FAQ#limitstorageFAQ|FAQ]]. While locally stored data may not be necessary to use our sites, some features will not function properly if you disable locally stored data.
{{anchor|PublicLogsReturn}}
While the examples above concerning information about you collected through the use of data collection tools are kept confidential in accordance with this Policy, please note that some information about the actions taken by your username is made publicly available through [[Privacy_policy/FAQ#publiclogsFAQ|public logs]] alongside actions taken by other users. For example, a public log may include the date your account was created on a Wikimedia Site along with the dates that other accounts were created on a Wikimedia Site.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|infowereceive}}
===How We Use Information We Receive From You===
====General====
}}
We and our service providers use your information for the legitimate purpose of pursuing our charitable mission, including:
{{Hidden
|header=Operating the this MediaWiki, sharing your contributions and administering our Services.
|content=
* To help you share your knowledge with the world and add new features to our Services.
* To arrange access to your account and provide you with related service.
* To send administrative information to you, such as changes to our policies.
* To allow you to send messages to another person if you choose to do so. Direct communications between users (such as messages sent through the "Email this user" feature), to the extent such communications are nonpublic and stored in or in transit through Wikimedia Foundation systems, are kept confidential by us, except as provided in this Policy.
We engage in these activities to manage our relationship with you, because we have a legitimate interest and/or to comply with our legal obligations.
}}
{{Hidden
|header=Providing customized Services.
|content=
* To provide to you custom content, notices and settings and to enhance your experience with the this MediaWiki.
We will customize the Services, in some instances, with your consent; or in keeping with our legitimate interest.
}}
{{Hidden
|header=Sending emails with news updates and communications about items we believe may be of interest to you.
|content=
* To let you know about things that are happening with the Wikimedia Foundation, the this MediaWiki or the Wikimedia movement.
* To alert you when there has been a change to an article that you have decided to follow.
We will send these types of emails to you only with your consent except as otherwise permitted by applicable law. We do not sell, rent, or use your email address to advertise third-party products or services to you. You can manage what kinds of notifications you receive and how often you receive them by going to your Notifications Preferences and User profile. You can learn more about email and notifications and how to change your preferences in our [[Privacy policy/FAQ#emailsFAQ|FAQ]].
}}
{{Hidden
|header=Sending optional surveys and requesting feedback.
|content=
We will always tell you, at the time we give you an opportunity to share your thoughts, how we plan on using your answers and any Personal Information you provide.
Your responses to our surveys and feedback requests are always optional. We will email these types of requests to you only with your consent except as otherwise permitted by applicable law. You can manage what kinds of notifications you receive and how often you receive them by going to your Notifications Preferences and User profile. You can learn more about email and notifications and how to change your preferences in our [[Privacy policy/FAQ#emailsFAQ|FAQ]].
}}
{{Hidden
|header=Improving the this MediaWiki and making your user experience safer and better.
|content=
* To use your public contributions, either aggregated with the public contributions of others or individually, to create new features or data-related products for you or to learn more about how the this MediaWiki are used.
* To fight spam, identity theft, malware and other kinds of abuse.
* To optimize mobile and other applications.
* To test features to see what works, understand how users interact with the this MediaWiki, track and study use of various features, gain understanding about the demographics of the different this MediaWiki and analyze trends.
We engage in these activities to further our legitimate interest and/or to comply with our legal obligations.
}}
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|info-other}}
===Other===
}}
{{Privacypolicy/Rheader|content=
====Location information====
}}
{{Privacypolicy/Rheader|content=
=====GPS & Other Location Technologies=====
}}
As stated above, we can use commonly-used location technologies to show you more relevant content. For example, our mobile apps can identify articles from the this MediaWiki about points of interest near your location. As a reminder, you can consent to and/or deactivate our access to these location technologies at any time for example through the native OS functionalities on your mobile device, and still use the this MediaWiki.
| arrow text =
Back to top
}}
{{Privacypolicy/Rheader|content=
=====Metadata=====
}}
As stated above, we may automatically receive location data from your device. For example, if you upload a photo using the Wikimedia Commons mobile app, please be aware that the default setting on your mobile device typically results in the metadata associated with your photo being included in the upload. As a reminder, if you do not want metadata sent to us and made public at the time of your upload, please change your settings on your device.
| arrow text =
Back to top
}}
{{Privacypolicy/Rheader|content=
=====IP Addresses=====
}}
When you visit any Wikimedia Site, we automatically receive the [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] of the device (or your proxy server) you are using to access the Internet, which could be used to infer your geographical location. We keep IP addresses confidential, except as provided in this Policy. If you are visiting this MediaWiki with your mobile device, we may use your IP address to provide anonymized or aggregated information to service providers regarding the volume of usage in certain areas.
We use this location information to make your experience with the this MediaWiki safer and better, to gain a greater understanding of user preferences and their interaction with the this MediaWiki, and to generally improve our services. For example, we use this information to provide greater security, optimize mobile applications, and learn how to expand and better support Wikimedia communities. We also use Personal Information in the manner described in the sections of this Policy titled "For Legal Reasons" and "To Protect You, Ourselves & Others."
| arrow text =
Back to top
}}
<span id="sharing"></span>
==<span class="nomobile">[[File:WMF share.png|60px]]</span> Sharing==
{{Privacypolicy/Rheader|content=
{{anchor|when-we-may-share}}
===When May We Share Your Information?===
}}
We use and share your Personal Information when you give us specific permission to do so, for legal reasons, and in the other circumstances described below.
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-with-permission}}
====With Your Permission====
}}
We share your Personal Information for a particular purpose, if you agree. For example, if you receive a scholarship and we ask permission to share your Personal Information with a local chapter. You can find more information in the list of examples in our [[Privacy policy/FAQ#permissionexamplesFAQ|FAQ]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-legal-reasons}}
====For Legal Reasons====
}}
We will disclose your Personal Information to public authorities or other persons in response to an official legal process only if we believe it to be legally valid. See also our [[Requests for user information procedures & guidelines|Requests for user information procedures and guidelines]]. We will notify you of such requests when possible. We do so to further our legitimate interest and/or to comply with our legal obligations.
}}
We will access, use, preserve, and/or disclose your Personal Information if we reasonably believe it necessary to satisfy a valid and legally enforceable warrant, subpoena, court order, law or regulation, or other judicial or administrative order. However, if we believe that a particular request for disclosure of a user's information is legally invalid or an abuse of the legal system and the affected user does not intend to oppose the disclosure themselves, we will try our best to fight it. We are committed to notifying you via email at least ten (10) calendar days, when possible, before we disclose your Personal Information in response to a legal demand. However, we may only provide notice if we are not legally restrained from contacting you, there is no credible threat to life or limb that is created or increased by disclosing the request, and you have provided us with an email address.
Nothing in this Privacy Policy is intended to limit any legal objections or defenses you may have to a third party's request (whether it be civil, criminal, or governmental) to disclose your Personal Information. We recommend seeking the advice of legal counsel immediately if such a request is made involving you.
For more information, see our [[Subpoena FAQ|Subpoena FAQ]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-org-transfer}}
====If the Organization is Transferred (Really Unlikely!)====
}}
In the unlikely event that the ownership of the Foundation changes, we will provide you 30 days' notice before any Personal Information is transferred to the new owners or becomes subject to a different privacy policy.
}}
In the extremely unlikely event that ownership of all or substantially all of the Foundation changes, or we go through a reorganization (such as a merger, consolidation, or acquisition), consistent with our legitimate interest, we will continue to keep your Personal Information confidential, except as provided in this Policy, and provide notice to you via the this MediaWiki and a notification on [https://lists.wikimedia.org/mailman/listinfo/wikimediaannounce-l WikimediaAnnounce-L] or similar mailing list at least thirty (30) calendar days before any Personal Information is transferred or becomes subject to a different privacy policy.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-to-protect-people}}
====To Protect You, Ourselves & Others====
}}
We, or users with certain administrative rights, use and disclose Personal Information that is reasonably necessary to:
* enforce or investigate potential violations of the Wikimedia Foundation or community-based policies;
* protect our organization, infrastructure, employees, contractors, or the public; or
* prevent imminent or serious bodily harm or death to a person.
We do so to manage our relationship with you, to further our legitimate interest, and/or to comply with our legal obligations.
}}
We, or particular users with certain administrative rights as described below, need to use and share your Personal Information if it is reasonably believed to be necessary to enforce or investigate potential violations of our [[wmf:Terms of Use|Terms of Use]], this Privacy Policy, or any Wikimedia Foundation or user community-based policies. We may also need to access and share Personal Information to investigate and defend ourselves against legal threats or actions.
this MediaWiki are collaborative, with users writing most of the policies and selecting from amongst themselves people to hold certain administrative rights. These rights may include access to limited amounts of otherwise nonpublic information about recent contributions and activity by other users. They use this access to help protect against vandalism and abuse, fight harassment of other users, and generally try to minimize disruptive behavior on the this MediaWiki. These various user-selected administrative groups have their own privacy and confidentiality guidelines, but all such groups are supposed to agree to follow our [[Access to nonpublic information policy|Access to Nonpublic Information Policy]]. These user-selected administrative groups are accountable to other users through checks and balances: users are selected through a community-driven process and overseen by their peers through a logged history of their actions. However, the legal names of these users are not known to the Wikimedia Foundation.
We hope that this never comes up, but we may disclose your Personal Information if we believe that it's reasonably necessary to prevent imminent and serious bodily harm or death to a person, or to protect our organization, employees, contractors, users, or the public. We may also disclose your Personal Information if we reasonably believe it necessary to detect, prevent, or otherwise assess and address potential spam, malware, fraud, abuse, unlawful activity, and security or technical concerns. (Check out the list of examples in our [[Privacy policy/FAQ#investigateuseFAQ|FAQ]] for more information.)
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-to-our-sp}}
====To Our Service Providers====
}}
We disclose Personal Information to our third party service providers or contractors to help run or improve the this MediaWiki and provide services in support of our mission.
}}
We use third-party service providers or contractors to help run or improve the this MediaWiki for you and other users. We give access to your Personal Information to these providers or contractors as needed to perform their services for us or to use their tools and services. We put requirements, such as confidentiality agreements, in place to help ensure that these service providers treat your Personal Information consistently with, and no less protective of your privacy than, the principles of this Policy. For further information, please see our [[Privacy policy/FAQ#thirdpartyshareexamplesFAQ|FAQ]].)
If you are visiting this MediaWiki with your mobile device, we use your IP address to provide anonymized or aggregated information to service providers regarding the volume of usage in certain areas.
Some of our service providers ask us to post links to their privacy policies; a list of these service providers and links to their policies can be found [[Privacy policy/Supplement|on this page]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-to-experiment}}
====To Understand & Experiment====
}}
* We give volunteer developers and researchers access to systems that contain your Personal Information to allow them to protect, develop, and contribute to the this MediaWiki.
* We also share non-Personal Information or aggregated information with third parties interested in studying the this MediaWiki.
* When we share Personal Information with third parties for these purposes, we put reasonable technical and contractual protections in place to protect your Personal Information consistent with this Policy and our legitimate interest.
}}
{{Privacypolicy/Right
The open-source software that powers the this MediaWiki depends on the contributions of volunteer software developers, who spend time writing and testing code to help it improve and evolve with our users' needs. To facilitate their work, we give some developers limited access to systems that contain your Personal Information, but only as reasonably necessary for them to develop and contribute to the this MediaWiki.
Similarly, we share non-Personal Information or aggregated information with researchers, scholars, academics, and other interested third parties who wish to study the this MediaWiki. Sharing this Personal Information helps them understand usage, viewing, and demographics statistics and patterns. They then can share their findings with us and our users so that we can all better understand and improve the this MediaWiki.
When we give access to Personal Information to third-party developers or researchers, we put requirements, such as reasonable technical and contractual protections, in place to help ensure that these service providers treat your Personal Information consistently with the principles of this Policy and in accordance with our instructions. If these developers or researchers later publish their work or findings, we ask that they not disclose your Personal Information. Please note that, despite the obligations we impose on developers and researchers, we cannot guarantee that they will abide by our agreement, nor do we guarantee that we will regularly screen or audit their projects. (You can learn more about re-identification in our [[Privacy policy/FAQ#reidentifiationFAQ|FAQ]].)
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|share-because-public}}
====Because You Made It Public====
}}
Information that you post is public and can be seen and used by everyone.
}}
Any information you post publicly on the this MediaWiki is just that – public. For example, if you put your mailing address on your talk page, that is public, and not specifically protected by this Policy. And if you edit without registering or logging into your account, your IP address will be seen publicly. Please think carefully about your desired level of privacy before you disclose Personal Information on your user page or elsewhere.
| arrow text = Back to top
}}
{{anchor|protection}}
==<span class="nomobile">[[File:WMF safe.png|60px]]</span> Protection==
{{Privacypolicy/Rheader|content=
{{anchor|protection-means}}
===How Do We Protect Your Personal Information?===
}}
We use a variety of physical and technical measures, policies, and procedures to help protect your Personal Information from unauthorized access, use, or disclosure.
}}
{{Privacypolicy/Right
We strive to protect your Personal Information from unauthorized access, use, or disclosure. We use a variety of physical and technical measures, policies, and procedures (such as access control procedures, network firewalls, and physical security) designed to protect our systems and your Personal Information. Unfortunately, there's no such thing as completely secure data transmission or storage, so we can't guarantee that our security will not be breached (by technical measures or through violation of our policies and procedures).
We will never ask for your password by email (but may send you a temporary password via email if you have requested a password reset). If you ever receive an email that requests your password, <u>please let us know by sending it to privacy@wikimedia.org, so we can investigate the source of the email</u>.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|protection-duration}}
===How Long Do We Keep Your Data?===
}}
Except as otherwise stated in this Policy, we only keep your Personal Information as long as necessary to maintain, understand and improve the this MediaWiki or to comply with applicable law.
}}
Once we receive Personal Information from you, we keep it for the shortest possible time that is consistent with the maintenance, understanding, and improvement of the this MediaWiki, and our obligations under applicable law. In most instances, Personal Information is deleted, aggregated or de-identified after 90 days. Non-Personal Information may be retained indefinitely as appropriate. (Check out the list of examples in our [[Privacy policy/FAQ#datatimeexamplesFAQ|FAQ]].)
{{anchor|rememberIPindef}}
Please remember that when you make a contribution to any Wikimedia Site, the page history will show when your contribution was made, your username (if you are signed in), or your [[Privacy policy/Glossary of key terms#Internet Protocol Address|IP address]] (if you edit while not logged in). The transparency of the projects' contribution and revision histories is critical to their efficacy and trustworthiness. To learn more about our data retention practices, see our [[Special:MyLanguage/Data retention guidelines|data retention guidelines]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
===Your rights===
}}
If you would like to request access to or removal of your Personal Information, you may contact us.}}
For information about how you may request removal of your Personal Information, or other rights you may have with respect to your Personal Information, see our [[Privacy_policy/FAQ#anonymize|FAQ]]. If you would like to request to access, update or restrict/object to the processing of Personal Information, or receive a copy of your Personal Information for purposes of transmitting it to another organization, you may [[Privacy policy#important|Contact Us]]. We will respond to your request consistent with applicable law.
Please note also that you may be able to exercise some of these rights without our intervention. For example, if you are a registered user, you can access and update some Personal Information in your Preferences, as well as download your user account data. You may also manage what kinds of notifications you receive and how often you receive them by going to your Notifications Preferences.
| arrow text = Back to top
}}
{{anchor|important}}
==<span class="nomobile">[[File:WMF sign.png|60px]]</span> Important info==
{{Privacypolicy/Rheader|content=
'''For the protection of the Wikimedia Foundation and other users, if you do not agree with this Privacy Policy, you may not use the this MediaWiki.'''
{{anchor|where-is-the-wmf}}
===Where is the Foundation & What Does That Mean for Me?===
}}
{{Privacypolicy/Right
The Wikimedia Foundation is a non-profit organization based in San Francisco, California, with servers and data centers located in the U.S. If you decide to use this MediaWiki, whether from inside or outside of the U.S., you understand that your Personal Information will be collected, transferred, stored, processed, disclosed and otherwise used in the U.S. as described in this Privacy Policy. You also understand that your information may be transferred by us from the U.S. to other countries, which may have different or less stringent data protection laws than your country, in connection with providing services to you.
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|DNT}}
===Our Response to Do Not Track (DNT) signals===
}}
We are strongly committed to protecting users' Personal Information. Under this Policy, we may share your information only under particular situations, which you can learn more about in the [[#sharing|"When May We Share Your Information"]] section of this Privacy Policy. In particular, we do not share your Personal Information for marketing purposes.
Because we protect all users in accordance with this Privacy Policy, we do not change our behavior in response to a web browser's "do not track" signal. For more information regarding Do Not Track signals and how we handle them, please visit our [[Privacy policy/FAQ#DNTFAQ|FAQ]].
| arrow text = Back to top
}}
{{Privacypolicy/Rheader|content=
{{anchor|changes}}
===Changes to This Privacy Policy===
}}
Substantial changes to this Policy will not be made until after a public comment period of at least 30 days.
Because things naturally change over time and we want to ensure our Privacy Policy accurately reflects our practices and the law, it may be necessary to modify this Privacy Policy from time to time. We reserve the right to do so in the following manner:
* In the event of substantial changes, we will provide the proposed changes to our users in at least three (3) languages (selected at our discretion) for an open comment period lasting at least thirty (30) calendar days. Prior to the start of any comment period, we will provide notice of such changes and the opportunity to comment via the this MediaWiki, and via a notification on [https://lists.wikimedia.org/mailman/listinfo/wikimediaannounce-l WikimediaAnnounce-L] or a similar mailing list.
* For minor changes, such as grammatical fixes, administrative or legal changes, or corrections of inaccurate statements, we will post the changes and, when possible, provide at least three (3) calendar days' prior notice via [https://lists.wikimedia.org/mailman/listinfo/wikimediaannounce-l WikimediaAnnounce-L] or similar mailing list.
We ask that you please review the most up-to-date version of our Privacy Policy. Your continued use of the this MediaWiki after any effective date of a subsequent version of this Privacy Policy constitutes acceptance of this Privacy Policy on your part.
| arrow text = Back to top
{{Privacypolicy/Rheader|content=
{{anchor|contact-us}}
===Contact Us===
If you have questions or suggestions about this Privacy Policy, or the information collected under this Privacy Policy, please email us at [mailto:privacy@wikimedia.org privacy@wikimedia.org] or [[wmf:Contact us|contact us]] directly. If you are located in the European Economic Area and have questions about your personal data or would like to request to access, update, or delete it, you may contact our representative via email at EUrepresentative.Wikimedia@twobirds.com, or via mail at:
:Bird & Bird GDPR Representative Ireland
:29 Earlsfort Terrace
:Dublin 2
:D02 AY28
:Ireland
:Main point of contact: Vincent Rezzouk-Hammachi
If you are an individual located in the United Kingdom, and have questions about your personal data or would like to request to access, update, or delete it, you may contact our representative via email at UKrepresentative.Wikimedia@twobirds.com, or via mail at:
:Bird & Bird GDPR Representative Services UK
:12 New Fetter Lane
:London
:EC4A 1JP
:United Kingdom
:Main point of contact: Vincent Rezzouk-Hammachi
Our European Economic Area and United Kingdom Representative can only be contacted for queries in relation to data protection.
Depending on your jurisdiction, you also may have the right to lodge a complaint with a supervisory authority competent for your country or region.
}}
f5jyj7b4dk7fm2hm4tvb92s63yfme9o
Filler Tangent/Jokes
0
73
3327
3271
2023-11-03T19:41:03Z
MiniBomba
144
Add categories
3327
wikitext
text/x-wiki
__FORCETOC__
==== Description ====
This is for tangential scenes added only for filler or humor that are not required to understand the main content of the video.
'''This includes:'''
* Timelapses / B-roll
* Fake Sponsors
*Slow motion clips that do not provide any context or are used as replays or B-roll footage
*Bloopers
* Irrelevant/ tangential content
** Content creator being distracted by something unrelated to the video
** Unrelated highlight clips that don't provide any context, are not elaborated on and don't fit into [https://wiki.sponsor.ajay.app/w/Preview/Recap#Preview preview]
=== Exceptions/ Edge Cases ===
* If any other category can be applied (mute or skip), choose them instead. Filler Tangent is the lowest priority category.
* In most cases, fillers should not be mute. Mute fillers should mostly be used for chaining to a skip.
'''Not included'''
* Similar to other categories, '''do not''' mark entire videos.
* Useful Information
*# Provides context
*# Useful Explanations or analogies
*# Excerpts from source content
*# Background details
* Segments that are referenced later
*Bloopers that include [[Endcards/Credits]]
{{Disclaimers}}
=== Examples ===
[https://www.youtube.com/watch?v=wbbH77rYaa8 The birth of photography: Drawing with light (and silver iodide)]
[https://www.youtube.com/watch?v=a5YAGYyuA0U Food theory: I quit Diet Coke!]
[https://www.youtube.com/watch?v=1MkrNVic7pw Auto-aiming bow vs. flying targets]
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2" |Positive Examples
|-
|Joke filler from 18:51 - 18:58
|[https://youtu.be/088Ti7MgkOg?t=1095 DIY curbed wheel fix - was it worth it?]
|-
|Unrelated tangent: 10:03 - 10:37 - Distracted by a caterpillar
|[https://youtu.be/pAOCiNhQW2Y?t=602 1,074 mph baseball vs. 1 gallon of mayonnaise]
|-
! colspan="2" |Negative Examples
|-
| This is quoting a song, which is relevant to the point they are making. || [https://www.youtube.com/watch?v=1MRAo-hwVhQ&t=272s The man who loved an abortion ban]
|-
|None of the examples in this video should be marked since they provide context
|[https://www.youtube.com/watch?v=QR5MFQnZM3k Nvidia’s stretchy simulation: super quick]
|}
{| class="wikitable"
|+[https://www.youtube.com/watch?v=IZEaYjo4ZJU VFX artist reveals how many solar panels are needed to power the entire world]
!Verdict
!Reason
!Timestamp
!Link
|-
|✅
|Joke analogy that provides no actual information
|5:33 - 5:36
|[https://www.youtube.com/watch?v=IZEaYjo4ZJU&t=317s Watch from 5:17]
|-
|✅
|Unrelated joke in the middle of content
|6:40 - 6:50
|[https://www.youtube.com/watch?v=IZEaYjo4ZJU&t=394s Watch from 6:34]
|-
|✅
|Unrelated tangent/ joke that is based in fantasy
|16:33 - 16:39
|[https://www.youtube.com/watch?v=IZEaYjo4ZJU&t=988s Watch from 16:28]
|-
|❌
|On-topic elaboration that provides context and information
|17:28 - 18:01
|[https://www.youtube.com/watch?v=IZEaYjo4ZJU&t=1047s Watch from 17:27]
|}
{| class="wikitable"
|+[https://www.youtube.com/watch?v=6yur4w0Cfpw Pac-Man World Speedruns Deserve More Love | [https://www.youtube.com/watch?v=6yur4w0Cfpw Pac-Man World speedruns deserve more love]
!Verdict
!Reason
!Timestamp
!Link
|-
|❌
|The clip is too short to clip cleanly
|0:00 - 0:02
|[https://www.youtube.com/watch?v=6yur4w0Cfpw&t=0s Watch from 0:00]
|-
|✅
|Collection of gameplay clips that do not appear later in the video
|0:40 - 1:40
|[https://www.youtube.com/watch?v=6yur4w0Cfpw&t=40s Watch from 0:40]
|-
|❌
|The upcoming scene is narrated and a follow-up to earlier content
|9:52 - 10:07
|[https://www.youtube.com/watch?v=6yur4w0Cfpw&t=588s Watch from 9:48]
|-
|✅
|Unrelated tangent/ fun fact
|10:24 - 10:40
|[https://www.youtube.com/watch?v=6yur4w0Cfpw&t=617s Watch from 10:17]
|}
{| class="wikitable"
|+[https://www.youtube.com/watch?v=YvR7LAsk6tk "Unsafe at any Speed" : The Truth about RECALLS | [https://www.youtube.com/watch?v=YvR7LAsk6tk "Unsafe at any speed": The truth about recalls]
!Verdict
!Reason
!Timestamp
!Link
|-
|✅
|Clip used for humor
|1:14 - 1:18
|[https://www.youtube.com/watch?v=YvR7LAsk6tk&t=65s Watch from 1:05]
|-
|✅
|Clip used as reference, but ultimately just repetition
|2:05 - 2:11
|[https://www.youtube.com/watch?v=YvR7LAsk6tk&t=119s Watch from 1:59]
|-
|❌
|Direct quote & used for context
|3:10 - 3:19
|[https://www.youtube.com/watch?v=YvR7LAsk6tk&t=189s Watch from 3:09]
|-
|✅
|Clip used to accentuate point
|5:33 - 5:41
|[https://www.youtube.com/watch?v=YvR7LAsk6tk&t=328s Watch from 5:28]
|-
|✅
|Song reference to accentuate point
|5:45 - 5:49
|[https://www.youtube.com/watch?v=YvR7LAsk6tk&t=341s Watch from 5:41]
|}
{| class="wikitable"
|+[https://www.youtube.com/watch?v=D9u7JDCT47Y The quest to beat Portal glitchless in under 15 minutes]
!Verdict
!Reason
!Timestamp
!Link
|-
|✅
|Gameplay clips that are not built upon, elaborated or used for context
|0:59 - 1:27
|[https://www.youtube.com/watch?v=D9u7JDCT47Y&t=57s Watch from 0:57]
|-
|✅
|Gameplay clips that are not built upon, elaborated or used for context
|4:49 - 6:02
|[https://www.youtube.com/watch?v=D9u7JDCT47Y&t=267 Watch from 4:27]
|-
|❌
|Short clip showing the end of the run
|14:14 - 14:25
|[https://www.youtube.com/watch?v=D9u7JDCT47Y&t=847s Watch from 14:08]
|-
|✅
|Unrelated highlights that don't provide any context or information
|16:53 - 17:59
|[https://www.youtube.com/watch?v=D9u7JDCT47Y&t=1004s Watch from 16:44]
|}
{| class="wikitable"
|+[https://www.youtube.com/watch?v=S1CDiebvzRM Ratchet & Clank's Amazing Movement Tech | [https://www.youtube.com/watch?v=S1CDiebvzRM Ratchet & Clank's amazing movement tech]
!Verdict
!Reason
!Timestamp
!Link
|-
|✅
|Animation and tangent that isn't required for any context
|0:19 - 0:37
|[https://www.youtube.com/watch?v=S1CDiebvzRM&t=18s Watch from 0:18]
|-
|✅
|Tangent and clip about Xem as a person and unrelated clip metaphor
|0:50 - 1:24
|[https://www.youtube.com/watch?v=S1CDiebvzRM&t=39s Watch from 0:39]
|-
|❌
|Cannot be cut cleanly, part of explanation of tech
|1:34 - 1:41
|[https://www.youtube.com/watch?v=S1CDiebvzRM&t=88s Watch from 1:28]
|-
|❌
|Provides context for movement tech
|3:00 - 3:12
|[https://www.youtube.com/watch?v=S1CDiebvzRM&t=180s Watch from 3:00]
|-
|✅
|Clip used to accentuate a point
|3:40 - 3:45
|[https://www.youtube.com/watch?v=S1CDiebvzRM&t=216s Watch from 3:36]
|-
|❌
|Explanation of concept
|3:45 - 5:03
|[https://www.youtube.com/watch?v=S1CDiebvzRM&t=224s Watch from 3:44]
|-
|✅
|Tangential wordplay
|5:09 - 5:13
|[https://www.youtube.com/watch?v=S1CDiebvzRM&t=304s Watch from 5:04]
|}
[[Category:Segment Categories]]
t47vls6cpo89d0kx5cfxhnvb4khrt7f
Types
0
74
3347
3177
2023-11-03T19:50:57Z
MiniBomba
144
Add categories
3347
wikitext
text/x-wiki
=== Category ===
<code>sponsor</code> <code>selfpromo</code> <code>interaction</code> <code>intro</code> <code>outro</code> <code>preview</code> <code>music_offtopic</code> <code>filler</code>
Warning: the <code>filler</code> category is very aggressive. It is strongly recommended to not use this in a client by default, as it can be confusing if you don't know what is happening.
==== POI Categories ====
These signify a specific point in the video (Point of Interest). Start time and end time are equal.
This category can only be submitted as a <code>poi</code> action type
<code>poi_highlight</code>
==== Full Video only Categories ====
This category only allows submitting as <code>full</code> action type
<code>exclusive_access</code>
==== Chapter only Categories ====
This category only allows submitting as <code>chapter</code> action type
<code>chapter</code>
=== Action Type ===
<code>skip</code> <code>mute</code> <code>full</code> <ref>This action type will always have start time and end time equal to 0, and means that the [[Full Video Labels|entire video is labelled as this category]]</ref> <code>poi</code> <code>chapter</code>
===Service===
<code>YouTube</code>
===Rating Types===
{| class="wikitable"
|+
!Type Number
!Description
|-
|0
|Downvote/ Dislike
|-
|1
|Upvote/ Like
|}
=== User Features===
{| class="wikitable"
|+
!Type Number
!Description
|-
|0
|[[Chapter|Chapters]]
|-
|1
|[[Filler Tangent/Jokes|Filler/ Tangent]]
|}
<references />
[[Category:Developer Reference]]
3uvhwj9s0rcd1nn7rm1vwaeou1wwlhd
Chapter
0
76
3301
2981
2023-11-03T19:25:10Z
MiniBomba
144
Add categories
3301
wikitext
text/x-wiki
__FORCETOC__
=== Description ===
Labels describing specific sections of videos. Use the main language of the video.
=== Specifics ===
These can be very precise, but should not just be closed-captions.
Smaller chapters can be placed inside of larger chapters to label a specific section in a larger subject.
Demo video: https://www.youtube.com/watch?v=H_mP7bpbA_c
[[Category:Segment Categories]]
[[Category:Segment Types]]
2vi435a79rhmt1prsgiu5k52qzm9ngy
API Docs/Ratings
0
78
870
757
2022-01-24T19:50:11Z
Ajay
1
deprecation notice
870
wikitext
text/x-wiki
<big>'''Warning: Development of this API is stalled and may not continue'''</big>
Public API is available at https://sponsor.ajay.app.
'''GET <code>/api/ratings/rate/:sha256HashPrefix</code>'''
'''GET''' '''<code>/api/ratings/rate</code>'''
Get rating of a video with extra privacy
<code>sha256HashPrefix</code> is a prefix of the hash of the YouTube <code>videoID</code>. It should be the first 4 - 32 characters (4 is recommended). This provides extra privacy by potentially finding more than just the video you are looking for since the server will not know exactly what video you are looking for.
'''Input''' (URL Parameters)<syntaxhighlight lang="ts">
{
prefix: string, // alternative to path, can be repeated for bulk fetching (Max 75)
type: int, // Optional: Rating type - default 1 and 0 - can be repeated for multiple types
types: [int], // Optional: Array of rating types
}
</syntaxhighlight>'''Response'''<syntaxhighlight lang="ts">
[{ // Array of this object
videoID: string,
hash: string, // Full hash of the videoID
type: int, // Type of rating
count: int // Number of ratings of this type
}]
</syntaxhighlight>'''Error Codes'''
400: Bad Request (Your inputs are wrong/impossible)
404: No ratings for that type + videoID combination exist
----'''POST <code>/api/ratings/rate</code>'''
Add user's rating to the video
'''Input''' (URL Parameters)<syntaxhighlight lang="ts">
{
videoID: string
userID: string, // Local UserID
service: string, // Default YouTube - See refereneces
type: int, // Rating type - See references
enabled: boolean // Default true - if rating should count - set to false to undo vote
}
</syntaxhighlight>References: [[Types#service]], [[Types#Rating Types]]
'''Response'''<syntaxhighlight lang="ts">
{
Nothing (Status Code 200)
}
</syntaxhighlight>'''Error Codes'''
400: Bad Request (Your inputs are wrong/impossible)
=== VIP Calls ===
===== '''POST''' <code>/api/ratings/clearCache</code> =====
Clear redis cache for video.
'''Input''' (Request Body):
{
userID: string, // Local userID
videoID: string
}
'''Response''':
{
Cache cleared on video videoID (status code 200)
}
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
403: Unauthorized (You are not a VIP)
tks5zncuex9y3gxv70xfsjqwqd5xlje
MediaWiki:Vector.css
8
80
3219
3218
2023-09-23T23:28:33Z
Mchangrh
7
Revert and format old vector
3219
css
text/css
/* https://github.com/StylishThemes/Wikipedia-Dark/*/
:root {
--base-color: #66b3ff;
--darker-base: #0b437a;
--base-color-rgba-3: rgba(102, 179, 255, 3);
--base-color-rgba-8: rgba(102, 179, 255, 8);
--tab-color: var(--base-color);
--visited-color: #a165c2;
/*--bg-custom: [[bg-custom]];
--bg-selected: [[bg-selected]];
--bg-attachment: [[bg-attachment]];*/
/* base palette */
--black: #000;
--gray-1: #111;
--gray-2: #202124;
--gray-3: #333;
--gray-4: #444;
--gray-5: #555;
--gray-7: #777;
--gray-a: #aaa;
--gray-c: #d6d6d6;
--gray-d: #ddd;
--gray-e: #eee;
--white: #fff;
--gray-18: #181818;
--gray-28: #282828;
--gray-2f: #2f4f4f;
--gray-69: #696969;
--gray-9a: #9a9a9a;
--gray-b9: #b9b9b9;
--gray-bc: #bcbcbc;
--blue: #00f;
--blue-1: #36c;
--blue-2: #182030;
--blue-3: #212c43;
--blue-4: #3c5487;
--red: #f00;
--red-0: #400;
--red-1: #c22;
--red-2: #d33;
--red-3: #722;
--red-rgb: rgba(119, 34, 34, .4);
--red-4: #ff4242;
--green: #0f0;
--green-1: #390;
--green-2: #165316;
--green-3: #061;
--green-4: #002800;
--brown-1: #321;
--brown-2: #542;
--brown-3: #261d08;
--brown-4: #4b380d;
--yellow-1: #b28200;
--yellow-2: #ffdd7f;
--orange-1: #e53e00;
--orange-2: #e08b26;
--orange-3: #4d2b01;
--purple-d: #241738;
--purple-0: #312641;
--purple-1: #382b4a;
--purple-2: #768;
--pink-0: #3e243c;
--pink-1: #6b3e68;
--pink-2: #965691;
--pink-3: #ffbefa;
--cyan-1: #194d41;
--ores-1: #222800;
--ores-2: #222000;
--ores-3: #221800;
--black_17: rgba(0, 0, 0, .175);
--black_2: rgba(0, 0, 0, .2);
--black_25: rgba(0, 0, 0, .25);
--black_5: rgba(0, 0, 0, .5);
--black_8: rgba(0, 0, 0, .8);
--gray-2_75: rgba(34, 34, 34, .75);
--gray-3_5: rgba(51, 51, 51, .5);
--gray-5_25: rgba(85, 85, 85, .25);
--gray-6_5: rgba(100, 100, 100, .5);
--white_1: rgba(255, 255, 255, .1);
--white_25: rgba(255, 255, 255, .25);
--diff-del: #c22;
--diff-add: #36c;
--revs-old: #b28200;
--revs-new: #070;
/* assessment colors */
--assess-1: #06c;
--assess-2: #29c;
--assess-3: #070;
--assess-4: #6b0;
--assess-5: #993;
--assess-6: #b60;
--assess-7: #921; /* was #901 */
--assess-8: #85f;
--assess-9: #070;
--assess-10: #0b6;
--assess-11: #a4c;
--assess-12: #568;
/* meta wiki */
--green-a0: #2f4500;
--green-a1: #27560f;
--green-a2: #016101;
--green-a3: #305229;
--green-a4: #50612b;
--green-a5: #676702;
--bluei-a0: #014523;
--bluei-a1: #004e4e;
--bluei-a2: #05493b;
--bluei-a3: #1b3a2a;
/* WD query service */
--cm-0: #141414;
--cm-1: #27282e;
--cm-2: #f9ee98;
--cm-3: #fc0;
--cm-4: #ca7841;
--cm-5: #8da6ce;
--cm-6: #607392;
--cm-7: #cda869;
--cm-8: #8f9d6a;
--cm-9: #bd6b18;
--cm-10: #f7f7f7;
--cm-11: #997643;
--cm-12: #d6bb6d;
--cm-13: #ff6400;
--cm-14: #aeaeae;
--cm-15: #ad9361;
}
.mw-notification {
color: var(--gray-c);
}
.cm-comment, .cm-link {
font-style: italic;
}
.CodeMirror {
background: var(--gray-18);
}
.CodeMirror-gutters {
background: var(--gray-2);
border-right: 1px solid var(--gray-4);
}
.CodeMirror-guttermarker {
color: var(--white);
}
.CodeMirror-guttermarker-subtle, .CodeMirror-linenumber {
color: var(--gray-a);
}
.CodeMirror-cursor {
border-left: 2px solid var(--white);
}
.CodeMirror-activeline-background {
background: var(--cm-1);
}
.CodeMirror-matchingbracket {
outline: 1px solid var(--gray);
color: var(--white);
}
.CodeMirror-line::selection, .CodeMirror-line > span::selection,
.CodeMirror-line > span > span::selection {
background: var(--cm-1);
}
.cm-keyword {
color: var(--cm-2);
}
.cm-atom {
color: var(--cm-3);
}
.cm-number {
color: var(--cm-4);
}
.cm-def, .cm-mw-section-header, .cm-mw-link-pagename, .cm-mw-link-bracket,
.cm-mw-link-delimiter, .cm-mw-indenting, .cm-mw-extlink-bracket, .cm-mw-list,
.cm-mw-apostrophes-bold, .cm-mw-apostrophes-italic, .cm-mw-link-tosection {
color: var(--cm-5);
}
.cm-mw-skipformatting {
background-color: var(--cm-6);
}
.cm-variable-2, .cm-variable-3, span.cm-def, span.cm-tag,
.cm-mw-extlink-protocol, .cm-mw-free-extlink-protocol, .cm-mw-extlink,
.cm-mw-free-extlink {
color: var(--cm-6);
}
.cm-builtin, .cm-operator {
color: var(--cm-7);
}
.cm-comment {
color: var(--gray-7);
font-weight: 400;
}
.cm-string, .cm-mw-htmltag-name, .cm-mw-htmltag-bracket, .cm-mw-exttag-name,
.cm-mw-exttag-bracket, .cm-mw-htmltag-attribute, .cm-mw-exttag-attribute,
.cm-mw-mnemonic {
color: var(--cm-8);
}
.cm-string-2 {
color: var(--cm-9);
}
.cm-meta {
background-color: var(--gray-18);
color: var(--cm-10);
}
.cm-tag {
color: var(--cm-11);
}
.cm-attribute {
color: var(--cm-12);
}
.cm-header, .cm-mw-table-bracket, .cm-mw-table-definition,
.cm-mw-table-delimiter {
color: var(--cm-13);
}
.cm-hr {
color: var(--cm-14);
}
.cm-link {
color: var(--cm-15);
text-decoration: none;
}
.cm-error {
border-bottom: 1px solid var(--red);
}
.cm-mw-template-name, .cm-mw-template-bracket, .cm-mw-template,
.cm-mw-template-argument-name, .cm-mw-template-delimiter {
color: var(--cm-10);
}
/*# sourceURL=ace/css/ace-tm */
.ace-tm .ace_gutter {
background: var(--cm-1);
color: var(--cm-10);
}
.ace-tm .ace_print-margin {
background: var(--cm-1);
}
.ace-tm .ace_fold {
background-color: var(--cm-6);
}
.ace-tm {
background-color: var(--cm-0);
color: var(--cm-10);
}
.ace-tm .ace_cursor {
color: var(--cm-10);
}
.ace-tm .ace_invisible {
color: var(--cm-10);
}
.ace-tm .ace_storage, .ace-tm .ace_keyword {
color: var(--cm-5);
}
.ace-tm .ace_constant {
color: var(--cm-13);
}
.ace-tm .ace_constant.ace_buildin {
color: var(--cm-14);
}
.ace-tm .ace_constant.ace_language {
color: var(--cm-14);
}
.ace-tm .ace_constant.ace_library {
color: var(--cm-8);
}
.ace-tm .ace_invalid {
background-color: rgba(255, 0, 0, .1);
color: var(--cm-13);
}
.ace-tm .ace_support.ace_function {
color: var(--cm-5);
}
.ace-tm .ace_support.ace_constant {
color: var(--cm-8);
}
.ace-tm .ace_support.ace_type, .ace-tm .ace_support.ace_class {
color: var(--cm-14);
}
.ace-tm .ace_keyword.ace_operator {
color: var(--cm-14);
}
.ace-tm .ace_string {
color: var(--cm-8);
}
.ace-tm .ace_comment {
color: var(--cm-14);
}
.ace-tm .ace_comment.ace_doc {
color: var(--cm-5);
}
.ace-tm .ace_comment.ace_doc.ace_tag {
color: var(--cm-14);
}
.ace-tm .ace_constant.ace_numeric {
color: var(--cm-5);
}
.ace-tm .ace_variable {
color: var(--cm-12);
}
.ace-tm .ace_xml-pe {
color: var(--cm-11);
}
.ace-tm .ace_entity.ace_name.ace_function {
color: var(--cm-5);
}
.ace-tm .ace_heading {
color: var(--cm-5);
}
.ace-tm .ace_list {
color: var(--cm-13);
}
.ace-tm .ace_meta.ace_tag {
color: var(--cm-6);
}
.ace-tm .ace_string.ace_regex {
color: var(--cm-13);
}
.ace-tm .ace_marker-layer .ace_selection {
background: var(--cm-1);
}
.ace-tm.ace_multiselect .ace_selection.ace_start {
box-shadow: 0 0 3px 0 var(--cm-10);
}
.ace-tm .ace_marker-layer .ace_step {
background: var(--cm-3);
}
.ace-tm .ace_marker-layer .ace_stack {
background: var(--cm-2);
}
.ace-tm .ace_marker-layer .ace_bracket {
border: 1px solid var(--cm-14);
}
.ace-tm .ace_marker-layer .ace_active-line {
background: rgba(0, 0, 0, .07);
}
.ace-tm .ace_gutter-active-line {
background-color: var(--gray-3);
}
.ace-tm .ace_marker-layer .ace_selected-word {
background: var(--gray-3);
border: 1px solid var(--cm-11);
}
.ace-tm .ace_indent-guide {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
}
.ve-ui-mwAceEditorWidget .ace_editor {
border-color: var(--cm-6);
}
/* transparent background */
html, body, .mw-body[role="main"], .skin-vector-max-width .mw-page-container,
.skin-vector #mw-panel, .mw-page-container {
background-color: var(--gray-2);
background-image: var(--bg-selected);
background-clip: border-box;
background-origin: padding-box;
background-attachment: var(--bg-attachment);
/*[[bg-options]]*/
color: var(--gray-c);
}
.mw-body, .parsoid-body, #mp-topbanner,
span:not(.legend-color):not([class*="wikEd"]):not([style*="background"]):not(.wikibase-toolbar-wrapper):not(.tool),
.navbox-list, .mw-wsmfinal-content, .mw-body-content,
.referencetooltip > li + li, div.vectorTabs ul li,
tr[style*="background:#F5FFFA" i], th[style*="background-color: #fff" i],
.mw-echo-notifications-badge, .ext-cards-card-list .ext-cards-card,
.infobox span.plainlinks *, .tracklist, .vertical-navbox th a,
blockquote[style*="background-color: white" i], .ns-0 ul, .ns-0 ol li,
table.flextable, table.flextable .invisible, table#noarticletext,
table#noarticletext table, .metadata.plainlinks.stub,
.mw-body-content #mw-content-text h2:not([id^="mp-"]),
.mw-body-content .portal ul, div[style*="background"]:not[style*="#90EE90"],
.wikitable > tr, .wikitable > tr > th, .wikitable > tr > td,
.wikitable > * > tr, .wikitable > * > tr > th,
.wikitable > * > tr > td:not(.break), .wikitable th span[style*="background"],
.inline-quote-talk, .oo-ui-fieldsetLayout-group .oo-ui-widget,
.mw-parser-output .mod-gallery .whitebg img,
.mw-parser-output .mod-gallery .gallerybox div, tt[style="background: white;"] {
background-color: transparent !important;
}
.mw-body, .parsoid-body {
background-color: transparent !important;
color: var(--gray-9a);
}
.mw-mmv-download-pane .mw-mmv-download-attribution {
background-color: var(--gray-2);
color: var(--gray-a);
}
.mw-mmv-download-pane .mw-mmv-download-attribution:hover {
background-color: var(--gray-28);
color: var(--gray-c);
}
.mw-mmv-permission-box, .mw-mmv-info-box {
border-color: var(--gray-5);
background-color: transparent !important;
}
.mw-mmv-image-metadata, .navbox, .navbox-subgroup, .mwe-pt-article-row-odd,
.mwe-pt-article-row-even, .ve-ui-mwSaveDialog-options, #mw-page-base,
.mw-parser-output #siteContainer div:first-child, div.vectorTabs li.selected {
background-color: transparent;
}
.lang-list-button {
border-color: var(--gray-5);
outline-color: transparent !important;
}
.lang-list-border {
background-color: var(--gray-5);
}
.lang-list-button:focus {
box-shadow: inset 0 0 0 1px var(--base-color);
}
.lang-list-active .lang-list-button {
outline: 1px solid var(--base-color);
border-color: var(--base-color) !important;
}
/*** Overall ***/
td, li, th:not([style*="background"]):not([dir]), caption, p code, label code,
dl code, .oo-ui-widget:not([placeholder]) div, .oo-ui-widget label,
#pagehistory li.selected, #mwe-popups-settings main form label,
#pt-anonuserpage, .oo-ui-textInputWidget .oo-ui-inputWidget-input,
.oo-ui-messageDialog-title, .oo-ui-messageDialog-message,
.mw-echo-ui-menuItemWidget > .oo-ui-labelElement-label, .mw-mmv-image-desc,
.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected,
.guider_content h1, .guider_content p, select#searchLanguage option, dt,
.tfa-recent, #contentSub, #contentSub2, .central-featured-lang .link-box small,
.central-featured-lang .link-box small, .other-project-tagline,
.mw-number-text, .tux-editor-header, .tux-breadcrumb, .mw-mmv-title,
.ext-translate-language-selector-label, #mw-mwoauth-authorize-form,
.mw-parser-output > div > blockquote > p, .mw-parser-output,
.mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
color: var(--gray-c);
}
.oo-ui-listToolGroup.oo-ui-widget-disabled,
.oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-title,
.oo-ui-popupToolGroup-tools .oo-ui-tool-link .oo-ui-tool-accel {
color: var(--gray-7);
}
/* text color fix to black for https://en.wikipedia.org/wiki/Web_colors#Hex_triplet,
if this breaks something we need to differenciate specificity */
.color-chart-x11-table tr[style*="color: black"] > td {
color: var(--gray-1);
}
.wikitable[style*="color:white"] tr[style="color: black;"] td {
color: var(--gray-1);
}
h1, h2, h3, h4, h5, h6, #footer li,
.infobox th[style*="background"]:not([style*="#eaecf0"]):not([style*="background-color:#b0c4de;"]):not([style*="background-color: #f9f"]):not([style*="background-color:#b0c4de"]):not([style*="background-color:#FFD"]):not([style*="background-color: #91FAFA"]):not([style="background-color: #b0c4de"]):not([style*="background-color: antiquewhite"]),
div[style*="color"]:not([style*="black;"]):not([style*="back"]):not([style*="966"]):not([style*="red"]),
input[type="search"], input[type="submit"], .oo-ui-buttonElement-button,
.oo-ui-buttonElement-button:hover, input[type="number"], select,
.suggestions-result, input, .central-featured-lang .link-box em,
div.flaggedrevs_preview, div.plainlinks,
.table-partial[style*="background: #FFFFBB; color:black;"],
a[href*="Wikipedia:Wikipedia_Signpost"] span, .vertical-navbox th span,
span[style*="white-space:nowrap; line-height:120%; font-size:155%; color:#333;"],
tr[style^="color:black"], span[title="To be announced"],
div[style*="color: black;"],
td[style*="color: #000000;"]:not([style^="background"]),
td[style*="color:#000"]:not([style*="background"]), div[style*="color:black"],
td[style*="color:darkslategray;"], .mw-mmv-post-image,
.mw-mmv-permission-box .mw-mmv-permission-text, span[style*="color:#555555"],
td[style^="background: #FFFFFF" i], td[style^="background:#FFFFFF" i],
td[style^="background: #F5F" i], td[style^="background:#F5F" i] {
color: var(--gray-c) !important;
}
a, .CategoryTreeToggle, #toc a, #toc a span, body .ui-button, .toctogglelabel,
#content a:not(.new):not([role="button"]):not(.mw-charinsert-item):not([title="Help:Template"]),
#mw-navigation li:not(.new) a:not(.new), #mw-panel li:not(.new) a:not(.new),
#column-one li:not(.new) a:not(.new), #footer a:not(.new),
.other-project-title, a.wbc-editpage:hover,
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button,
span[style="color: #002BB8;"], a span[style="color:darkblue;"], .ui-dialog a,
.langlist a:hover, span[style="color:#002bb8"],
a:hover span[style="color:#002bb8"],
#firstHeading div.fastcci-buttonset > .ui-button {
color: var(--base-color) !important;
}
#firstHeading a > span, font[color="#006699"],
.mw-rcfilters-ui-filterWrapperWidget-showNewChanges .oo-ui-labelElement-label,
.oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title,
.oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title,
.fancycaptcha-reload, .tux-breadcrumb__item--aggregate,
.ext-translate-language-selector .uls {
color: var(--base-color);
}
.mw-parser-output > div::before, .uls-icon-close,
.tool-button[style*="Button_underline"],
.tool-button[style*="Vector_strikeout"] {
filter: invert(1);
}
.wb-langlinks-link > a:link::before, .wb-langlinks-link > a:visited::before,
.search-container .sprite.svg-arrow-down {
filter: grayscale(1) brightness(230%);
opacity: .8;
}
.wb-langlinks-link > a:hover::before {
filter: grayscale(1) brightness(280%);
opacity: 1 !important;
}
.wikitable > tr > th[scope="col"][style*=":#fed1a0;"],
.wikitable > * > tr > th[scope="col"][style*=":#fed1a0;"] {
background: var(--gray-3) !important;
}
a:visited, #toc a:visited, #toc a:visited span,
.vectorTabs li.new:not(.selected) a:visited,
#content a:not(.new):not([role="button"]):not(.mw-charinsert-item):not([title="Help:Template"]):visited,
#mw-panel li:not(.new) a:not(.new):visited,
#p-navigation li:not(.new) a:not(.new):visited,
#p-tb li:not(.new) a:not(.new):visited {
color: var(--visited-color) !important;
}
legend .oo-ui-labelElement-label, .cnotice-message p,
#mwe-popups-settings header h1, #mwe-popups-settings main form label > span,
.mwe-popups-settings-help p, font[color="black"],
#content td[style*="background: #f9f9e9;" i] a {
color: var(--gray-d) !important;
}
a:hover,
a:not(.mw-redirect):not(.link-box):hover span:not([style*="002"]):not(.oo-ui-tool-title):not(.oo-ui-labelElement-label):not([class*="other-project-"]):not([class*="help"]):not([style*="8DB"]):not(.frb-inline-container *),
#toc a:hover, .suggestions-result .highlight,
.suggestions-special .special-query {
color: var(--white) !important;
}
.oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link {
color: var(--gray-e) !important;
background-color: var(--darker-base);
}
.ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug {
outline: 1px dashed var(--gray-5);
background-color: var(--gray-3);
}
.central-featured-lang a:focus, .other-project a:focus,
#p-lang .uls-settings-trigger:focus {
outline: 1px solid var(--base-color);
}
.oo-ui-messageDialog-content > .oo-ui-window-foot,
.oo-ui-processDialog-content .oo-ui-window-head,
.oo-ui-processDialog-content .oo-ui-window-foot {
outline: 1px solid var(--gray-5);
}
.ve-ce-focusableNode-highlight {
background: var(--base-color-rgba-3);
box-shadow: inset 0 0 0 1px var(--base-color-rgba-3);
}
.ve-ce-linkAnnotation.ve-ce-annotation-active {
box-shadow: 0 0 0 1px var(--gray-5);
background-color: var(--gray-1);
}
.ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label {
border-top-color: var(--gray-4);
}
.ve-ce-attachedRootNode::selection, .ve-ce-attachedRootNode ::selection {
background: var(--base-color);
}
.oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected {
color: var(--base-color);
box-shadow: inset 0 -2px 0 0 var(--base-color);
}
tt, tt[style*="background: white"] {
background: var(--gray-1) !important;
}
div.mw-echo-ui-toggleReadCircleButtonWidget-circle {
background-color: var(--gray-7) !important;
}
.mw-echo-ui-toggleReadCircleButtonWidget-circle.mw-echo-ui-toggleReadCircleButtonWidget-circle-unread {
background-color: transparent !important;
border: 1px solid var(--gray-7);
}
.mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle {
background-color: var(--gray-69) !important;
}
.mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread {
background-color: var(--gray-2f) !important;
}
.mw-collapsible:not([class*="navbox-"]):not([class*="wpb"]) th:not(.wikidatainfobox-lcell):not([style*="cfe3ff;"]):not([style*="text"]):not([style*="#fff1d2;"]):not([style*="transparent"]):not([colspan="3"]):not(.mbox-text) {
background-color: var(--gray-3) !important;
}
.oo-ui-toolbar-bar, .oo-ui-window-head, .oo-ui-window-foot,
.oo-ui-popupToolGroup-tools, #language-settings-dialog {
background: var(--gray-2) !important;
}
table.diff, td.diff-otitle, td.diff-ntitle,
.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover,
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active,
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active:focus,
.oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link,
.oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link,
.oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover {
background-color: var(--gray-3);
}
div[style*="background-color: rgb(249, 249, 249)"] {
background-color: var(--gray-18) !important;
border-top-color: var(--gray-5) !important;
}
.oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked + span,
.oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:indeterminate + span {
background-color: var(--base-color) !important;
filter: none !important;
}
.oo-ui-checkboxInputWidget [type="checkbox"]:hover + span {
border: 1px solid var(--base-color) !important;
}
input[type="checkbox"] {
background-color: var(--base-color);
}
#mw-content-text .errorbox {
background-color: var(--pink-0);
}
.aiv-header table[style*="background-color: #dfd;"] tbody,
.aiv-header table[style*="background-color: #dfd;"] {
background: var(--green-a3) !important;
}
th[style*="background-color: DarkSeaGreen;"] {
background-color: var(--green-4) !important;
}
th.sidebar-title, th.sidebar-heading {
background-color: var(--gray-4) !important;
}
input#searchButton[type="submit"] {
border-left-color: var(--gray-a) !important;
filter: invert(1) !important;
background-color: var(--cm-10) !important;
}
.mw-parser-output > #Vorlage_Alternative,
.infobox td[style*="border:1px #aaa solid;"],
.infobox th[style*="background:#d0d0d0;"],
.mw-parser-output > table.vertical-navbox, .tux-message-item-compact,
.nomobile.plainlist, .infobox td[style^="background-color:#cfea9e;"],
tr[style^="border-top:2px solid #aaaaaa"],
div[style^="z-index"][style*="background:transparent;"][style*="1px solid #CCC"],
.infobox[style*="border: solid 1px silver"],
tr[style*="border:1px solid #aaa;"], table[style*="border:1px solid #CCCCCC;"],
th[style*="border-top:1px solid #aaa;"], td[style*="border-bottom:1px #aaa"] {
border-color: var(--gray-5) !important;
}
.frb-inline-main, .mw-parser-output .wwikipedii td,
.mw-parser-output .wwikipedii th, .infobox.geography .mergedbottomrow td,
.infobox.geography .mergedbottomrow th,
.mw-parser-output .sidebar-collapse .sidebar-above,
.mw-parser-output .sidebar-collapse .sidebar-below,
.tux-editor-insert-buttons button,
.infobox > tbody > tr:not([style]) > th[style*="background: #ccf"],
.ve-ui-cxDesktopContext .ve-ui-cxLinkContextItem-sourceBody, .sidebar.WSerieV,
table[style*="border:1px solid #CCCCCC;"],
.ve-ui-mwTransclusionDialog-addParameterFieldset .ve-ui-mwParameterSearchWidget {
border-color: var(--gray-5);
}
.uls-settings-trigger {
border-color: var(--gray-2) !important;
}
.wikibase-toolbar-container.wikibase-toolbar-container {
background: transparent !important;
}
.mw-parser-output .maf-info, .mw-parser-output .wwikipedii tr {
background-color: var(--gray-18);
border-color: var(--gray-5);
}
table td > div[style*="background-color: #F0EEFF;"] {
background-color: var(--gray-18) !important;
border-color: var(--gray-5) !important;
}
.tux-message-proofread, .tux-message-item-compact, .nomobile.plainlist,
.mw-parser-output td[style*="background-color:#f9f9f9;"],
.mw-parser-output td[style*="background-color:#FFFFFF;"],
.mw-parser-output td[style*="background-color:#fbfbfb;"],
.RMinline[style*="background:#F9F9F9;"] {
background-color: var(--gray-2) !important;
}
.frb-inline-message, .frb-inline-main .cta-container {
background-color: var(--gray-2);
}
table[class="toccolours;"] tr[style*="background:#EEEEEE"],
.infobox-above[style*="background-color: #D3D3D3"], .sidebar-heading,
.sidebar-list-title[style*="background-color: #def"],
.cx-widget-translationtool, .ve-ui-cxDesktopContext .ve-ui-contextItem,
.ve-ui-cxDesktopContext .ve-ui-cxDesktopContext-inspectors,
.oo-ui-panelLayout.cx-card,
.oo-ui-toolbar-tools > .ve-ui-toolbar-group-cx-mt.oo-ui-menuToolGroup,
.cx-tools-editing-toolbar-container .ve-ui-positionedTargetToolbar > .oo-ui-toolbar-bar,
td[bgcolor="#eeeeee"], tr[bgcolor="#eeeeee"] > td, .sidebar.WSerieV,
.infobox-above[style*="background:#ccc"],
.infobox-above[style*="background: #DEDEE2;"],
.infobox-above[style*="background-color: #E7DCC3;"],
.infobox-above[style="background:Silver"], tr[style="background: #DDD;"] {
background-color: var(--gray-3) !important;
}
.ve-ui-mwParameterResultWidget.oo-ui-optionWidget-highlighted,
.infobox-above[style=""], .infobox-header[style=""] {
background-color: var(--gray-3);
}
table[class="toccolours;"] tr[style*="background:#FAFAFA"],
.ve-ui-cxDesktopContext .ve-ui-cxLinkContextItem-sourceBody, th.sidebar-title,
th.sidebar-heading {
background-color: var(--gray-4) !important;
}
.infobox[style^="background:#F5F5F5;"],
.mw-parser-output > table.vertical-navbox, #uls-settings-block,
.mw-parser-output td[style*="background-color:#efefef;"],
.mw-cx-ui-CategoryTagItemWidget.oo-ui-flaggedElement-highlight {
background-color: var(--gray-18) !important;
}
input.languagefilter {
background-color: var(--gray-2);
}
tr td[style="background: #FFFFFF; color:#000000;"],
.cx-category-listing.oo-ui-icon-tag {
color: var(--black) !important;
}
.userbox tbody tr td, .frb-headline > span,
.infobox td.infobox-full-data th.infobox-above,
.infobox-above[style*="background-color:#b0c4de"],
.infobox-above[style*="background-color:#FFD"],
.infobox-above[style*="background-color: #91FAFA"],
.infobox-above[style="background-color: #b0c4de"], .oo-ui-icon-tag,
.cx-message-widget-message, td[style^="background: #FFFF"],
td[style^="background: #DFDFDF;"], td[style*="background: #CFCFFF;"],
td[style*="background: #EFCFFF;"], td[style*="background: #DFFFDF;"],
td[style*="background: #FFDF9F;"], tr > td[style="background: #FFFFFF;"],
tr > td[style="background: #CFE8FF;"], tr > td[style="background: #EED8AE;"],
tr > td[style="background: #FFF8DC;"], tr > td[style="background: #B9D3FF;"],
tr > td[style="background: #6495ED;"], tr > td[style="background: #607CD2;"],
tr > td[style="background: #828BD9;"], tr > td[style="background: #F0F8FF;"],
.infobox tr[style*="background:#F6E5A8;"] td,
.infobox tr[style*="background:#F6E5A8;"] th, td[style*="background:#AED0F0"],
#mw-content-text .infobox-above[style*="background-color: lightblue"],
#mwAg .infobox-above[style*="background-color: lightblue"],
#mw-content-text .infobox-above[style*="background: #CCCCFF;"],
#mwAg .infobox-above[style*="background: #CCCCFF;"],
#mwAg .infobox-above[style*="background-color: lightblue"],
#mw-content-text .infobox-above[style*="background-color: #e7dcc3;"],
#mwAg .infobox-above[style*="background-color: #e7dcc3;"],
#mw-content-text .infobox-above[style*="background-color: #c9ffd9;"],
#mw-content-text .infobox-above[style*="background:#F6DA9F"],
#mw-content-text .infobox tr[style*="background:#F8C9B0;"] td,
[class*="map"] [style*="font-size"][style*="left"],
.infobox [style*="position"][style*="width"][style*="top"][style*="font-size"],
.toccolours [style*="position"][style*="width"][style*="top"][style*="font-size"],
table[style*="background-color:transparent; "] span[style*="background-color:#FEFEE9;"],
.thumbimage [style*="position"][style*="width"] [style*="font-size"] {
color: var(--gray-1) !important;
}
tr[style*="background:#B9C5FF;"] > td, td[style*="background: #FFCC66;"],
td [style="background: #FFFF99;"], td[style="background: #4169E1;"],
td[style="background: #8AB0FF;"], tr[style*="background:#E5D8C0;"] > td {
color: var(--gray-1);
}
.reference-text span[style^="color:#555"] {
color: var(--gray-a) !important;
}
.userbox tr td, .frb-headline > span, .frb-inline-message,
.tux-pagemode-translation, .cx-translator__total-translations,
.cx-translator__header, .tux-editor-insert-buttons button,
.tux-proofread-translation, .tux-proofread-source,
.cx-tlitem__details .target-title, .ve-ui-cxLinkContextItem-language,
.cx-header-draft-status, .oo-ui-labelElement-label, .ve-cx-toolbar-mt-title {
color: var(--gray-c) !important;
}
.cx-tlitem .cx-tlitem__details .last-updated, .cx-tlitem__languages__language,
.cx-slitem__languages__language, .cx-selected-source-page__license,
.mw-cx-tools-IssueTracking > .mw-cx-tools-IssueTracking-head .oo-ui-labelWidget,
.cx-column--language-label, .cx-column-language-label {
color: var(--gray-c);
}
.cx-header__trademark-text, .cx-translationlist__header {
color: var(--white);
}
.cx-translationlist, .cx-dashboard-sidebar__help, .cx-translator {
box-shadow: 0 1px 1px var(--gray-5);
}
.tux-message-editor .messagekey .caret {
border-top-color: var(--gray-c);
}
.tux-message-editor .editor-expand {
filter: invert(.35);
}
#uls-settings-block > button {
filter: invert(.5);
}
.oo-ui-icon-check, .mw-ui-icon-check::before {
filter: invert(.75);
}
.redirectText > li:first-child, .redirectText > li:first-child > a,
.uls-languagefilter-clear {
filter: invert(1) !important;
}
figure[typeof*="mw"] > figcaption {
border: 1px solid var(--gray-5);
background-color: var(--gray-3);
}
.oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget,
.footer-sidebar-text, .site-license {
color: var(--gray-9a);
}
.oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget:hover {
background-color: var(--gray-3);
}
.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-optionWidget-highlighted:hover {
color: var(--base-color);
}
.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
background-color: var(--blue-2) !important;
color: var(--gray-c);
}
/* text selection */
::selection, ::-moz-selection {
background-color: var(--base-color) !important;
color: var(--white) !important;
}
/*** Background ***/
.mw-prefs-buttons {
background-image: var(--bg-selected);
background-color: var(--gray-2);
}
button[type="submit"], .pure-button-primary-progressive,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
background-color: var(--darker-base) !important;
border-color: transparent !important;
color: var(--white) !important;
}
#languagesettings-panels .mw-ui-pressed {
background-color: var(--base-color) !important;
border-color: var(--base-color) !important;
color: var(--white) !important;
}
.mw-ui-button {
background-color: var(--gray-3) !important;
color: var(--gray-d);
border-color: var(--gray-4) !important;
}
.mw-ui-button:hover {
background-color: var(--gray-4) !important;
color: var(--gray-e) !important;
border-color: var(--gray-5);
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button {
background-color: var(--red-2) !important;
border-color: transparent !important;
color: var(--white) !important;
}
.oo-ui-barToolGroup-tools.oo-ui-toolGroup-enabled-tools .oo-ui-tool.oo-ui-widget-disabled.oo-ui-flaggedElement-primary > .oo-ui-tool-link {
background-color: var(--gray-7);
}
.oo-ui-barToolGroup-tools.oo-ui-toolGroup-disabled-tools .oo-ui-tool.oo-ui-flaggedElement-primary > .oo-ui-tool-link {
background-color: var(--gray-4);
}
.pure-button-primary-progressive:hover,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover {
background-image: linear-gradient(var(--white_1), var(--white_1)) !important;
}
.oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected,
.oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted {
background-color: var(--gray-28);
}
.mw-ui-button.mw-ui-progressive {
color: var(--gray-e) !important;
background-color: var(--base-color) !important;
border-color: var(--base-color) !important;
}
.mw-ui-button.mw-ui-progressive:hover {
background-color: var(--base-color);
border-color: var(--base-color);
opacity: .9;
}
.mw-ui-button.mw-ui-progressive:disabled,
button.mw-ui-button.mw-ui-progressive:active {
background-color: var(--gray-3) !important;
color: var(--gray-5) !important;
border-color: var(--gray-4) !important;
opacity: .9;
}
.suggestions-dropdown,
.wikibase-sitelinklistview .wikibase-sitelinkview .wikibase-sitelinkview-siteid-container {
background-color: var(--gray-3);
border-color: var(--gray-4);
}
a.suggestion-link {
border-color: var(--gray-4);
}
.suggestion-title {
color: var(--gray-c) !important;
}
.suggestion-description, .mw-mmv-credit {
color: var(--gray-b9);
}
.suggestion-link.active {
background-color: var(--blue-4);
}
.suggestions-results .suggestions-result:hover,
.suggestions-result-current:hover, .mw-pulsating-dot::before,
.mw-pulsating-dot::after {
background: var(--base-color);
}
#mw-page-base, div.vectorTabs, div.vectorTabs *, .wikiEditor-ui-toolbar,
#p-cactions-label, .client-js #preftoc, .client-js #preftoc li,
.client-js #preftoc li.selected a, .ui-widget-content,
.ext-cards-card-list h3::after, #simpleSearch,
.mw-advancedSearch-fieldContainer {
background-image: none !important;
}
/* hack around sidebar bottom border brightness */
.portal h3, .vector-menu-portal h3 {
background-image: linear-gradient(to top, transparent, var(--gray-c));
background-size: auto 1px;
}
.vector-menu-content-list li[id*="ca-"] {
border-top: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
background-color: var(--bg-selected);
background-image: none;
}
.vector-menu-tabs, .vector-menu-tabs a, .vector-menu-tabs li,
#mw-head .vector-menu-dropdown h3 {
background-image: none;
}
.vector-menu-dropdown .vector-menu-content-list {
background-color: var(--gray-2);
border-color: var(--gray-5);
}
.wpb .portal ul, .boilerplate .pullquote, .module-shortcutboxplain,
.mw-trackedTemplate, .todo-box, .mw-echo-ui-notificationItemWidget-unread {
background-color: var(--gray-3) !important;
}
.mw-body-content .portal, .sistersitebox,
.boilerplate:not[style*="background-color: #edeaff"], .NavFrame, .divbox,
div.resolved span, div.unresolved span, div.unsure span, div.stale span,
div.being_worked_on span, div.stuck span, div.disregard span, div.FYI span,
.vertical-navbox:not(.nowraplinks),
.mw-advancedSearch-fieldContainer .oo-ui-labelElement > .oo-ui-fieldsetLayout-header > .oo-ui-labelElement-label {
background-color: var(--gray-2) !important;
}
table[style*="background-color: #f9f9f9; border: 1px solid #aaa;"] {
background-color: var(--gray-3) !important;
}
input[type="search"]#searchInput:focus, #simpleSearch:hover #searchInput:focus {
-webkit-box-shadow: none;
box-shadow: none;
border-color: var(--base-color) !important;
}
.oo-ui-inputWidget-input, .oo-ui-checkboxInputWidget-checkIcon {
background-color: var(--gray-1) !important;
}
.help-intro-sidetab.help-intro-sidetab-active[style*="border-left: 1em solid #36c;"] {
background-color: var(--blue-2) !important;
border-left: 1em solid var(--blue-4) !important;
}
input:not(.languagefilter), input.mw-ui-input {
background-color: var(--gray-1) !important;
border-color: var(--gray-4) !important;
}
input.mw-ui-input:focus {
box-shadow: inset 0 0 0 1px var(--base-color) !important;
}
.mw-ui-checkbox:not(#noop) [type="checkbox"] + label:hover::before {
background-color: var(--gray-1);
border: 1px solid var(--base-color) !important;
}
.mw-ui-checkbox:not(#noop) [type="checkbox"] + label::before {
background-color: var(--gray-1);
border-color: var(--gray-4);
}
.mw-ui-checkbox:not(#noop) [type="checkbox"]:enabled:checked + label::before {
background-color: var(--base-color);
border-color: var(--base-color);
}
.mw-ui-checkbox:not(#noop) [type="checkbox"]:enabled:checked:hover + label::before {
background-color: var(--base-color);
border-color: var(--base-color);
opacity: .9;
}
.mw-ui-checkbox:not(#noop) [type="checkbox"]:enabled:checked:not(:active) + label::before {
background-color: var(--base-color);
border-color: var(--base-color);
}
input#searchButton {
border-left: 1px solid var(--gray-5) !important;
border-top: 0 !important;
border-bottom: 0 !important;
}
#searchButton, #mw-searchButton {
font-size: .75em;
}
textarea {
border-color: var(--gray-5);
}
textarea:not(input):focus, .wikiEditor-ui-text textarea#wpTextbox1:focus {
border-color: var(--base-color);
}
.wikiEditor-ui-text textarea#wpTextbox1:not(input):focus {
outline: 1px inset var(--base-color) !important;
}
.tool.oo-ui-buttonElement-frameless.oo-ui-iconElement:hover {
outline: 1px solid var(--base-color);
background-color: inherit !important;
}
/* fix clipping to right default is margin: 0; */
.tool.oo-ui-buttonElement-frameless.oo-ui-iconElement {
margin: 0 1px;
}
.mw-advancedSearch-namespace-selection {
background: linear-gradient(var(--gray-1), var(--gray-2) .5em);
}
.oo-ui-tagItemWidget.oo-ui-widget-enabled,
.search-container .js-langpicker-label, .uls-input-settings-disable-info,
.uls-input-settings-no-inputmethods, .languagesettings-menu .menu-section,
#languagesettings-settings-panel, legend, .vertical-navbox th,
.wikiEditor-ui-toolbar .group .label, .flow-topic-meta,
.mw-parser-output .chatheader-description, .ui-widget-content,
span.mw-redirectedfrom, span.subpages, .mw-parser-output > p,
.hatnote.navigation-not-searchable, .thumbcaption,
.oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label {
color: var(--gray-a);
}
.oo-ui-tagItemWidget.oo-ui-widget-enabled:not(.oo-ui-tagItemWidget-fixed),
.mw-revslider-container .mw-revslider-toggle-button.oo-ui-buttonElement-frameless.oo-ui-labelElement {
background-color: var(--gray-2);
}
.oo-ui-tagItemWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid {
border-color: var(--red-2);
}
.oo-ui-tagItemWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid:hover {
border-color: var(--red-2);
}
.oo-ui-tagItemWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid:focus {
border-color: var(--red-2);
box-shadow: inset 0 0 0 1px var(--red-2);
}
.oo-ui-tagItemWidget.oo-ui-widget-enabled:focus,
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-inlined.oo-ui-tagMultiselectWidget-focus .oo-ui-tagMultiselectWidget-handle {
border-color: var(--base-color);
box-shadow: inset 0 0 0 1px var(--base-color);
}
.languagesettings-menu .menu-section.active, .ui-widget-header, .rt-tooltip,
.mw-body-content p {
color: var(--gray-c);
}
.languagesettings-menu .menu-section.active,
.languagesettings-menu .menu-section:focus {
border-color: var(--base-color);
background-color: var(--gray-28);
}
.settings-title, .checkbox strong, label.uls-font-label strong {
color: var(--gray-c);
}
.languagesettings-menu .menu-section .settings-text, .uls-ui-languages p,
.checkbox, label.uls-font-label {
color: var(--gray-9a);
}
.uls-font-item {
background-color: var(--gray-2) !important;
border-color: var(--gray-5) !important;
}
.uls-search-label {
filter: invert(1);
}
/* this is a hack for the display/keybord svg cause both use same selectors,
* it causes a slight shift in text when active/inactive toggle.
* using filters ddoesnt work on specific svg only, so hack! */
.languagesettings-menu #display-panel-trigger {
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path fill="%23ccc" d="M.002 2.275V15.22h8.405c.535 1.624-.975 1.786-1.902 2.505 0 0 2.293-.024 3.439-.024 1.144 0 3.432.024 3.432.024-.905-.688-2.355-.868-1.902-2.505h8.527V2.275h-20zm6.81 1.84h.797l3.313 8.466H9.879L8.836 9.943H5.462l-1.043 2.638h-.982zm.368 1.104c-.084.369-.211.785-.368 1.227L5.83 9.023h2.699l-.982-2.577c-.128-.33-.234-.747-.368-1.227zm7.117.982c.753 0 1.295.157 1.656.491.365.334.552.858.552 1.595v4.294h-.675l-.184-.859h-.062c-.315.396-.605.655-.92.798-.311.138-.758.184-1.227.184-.626 0-1.115-.168-1.472-.491-.353-.323-.491-.754-.491-1.35 0-1.275 1.028-1.963 3.068-2.025h1.043v-.429c0-.495-.091-.87-.307-1.104-.211-.238-.574-.307-1.043-.307-.526 0-1.115.107-1.779.429l-.307-.675a4.748 4.748 0 0 1 1.043-.429 4.334 4.334 0 0 1 1.104-.123zm.307 3.313c-.761.027-1.318.157-1.656.368-.334.207-.491.54-.491.982 0 .346.1.617.307.798.211.181.544.245.92.245.595 0 1.012-.164 1.35-.491.342-.326.552-.762.552-1.35v-.552z"/></svg>');
}
.languagesettings-menu #input-panel-trigger {
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path fill="%23ccc" d="M9 1.281c-.124.259-.185.599-.5.688-.55.081-1.133.018-1.688 0-.866-.032-1.733-.148-2.594 0-.588.157-.953.727-1.188 1.25-.178.416-.271.836-.344 1.281H-.002V16h20V4.5H3.654c.109-.52.203-1.057.563-1.469.222-.231.587-.17.875-.188 1.212.003 2.415.179 3.625.063.463-.058.812-.455.969-.875l.188-.438-.875-.313zM1.875 7.125h1.563c.094 0 .188.093.188.188v1.531a.201.201 0 0 1-.188.188H1.875c-.094 0-.156-.093-.156-.188V7.313c0-.094.062-.188.156-.188zm2.844 0h1.563c.094 0 .156.093.156.188v1.531c0 .094-.062.188-.156.188H4.719c-.094 0-.156-.093-.156-.188V7.313c0-.094.062-.188.156-.188zm2.844 0h1.563c.094 0 .156.093.156.188v1.531c0 .094-.062.188-.156.188H7.563a.201.201 0 0 1-.188-.188V7.313c0-.094.093-.188.188-.188zm2.813 0h1.563c.094 0 .188.093.188.188v1.531a.201.201 0 0 1-.188.188h-1.563c-.094 0-.156-.093-.156-.188V7.313c0-.094.062-.188.156-.188zm2.844 0h1.563c.094 0 .156.093.156.188v1.531c0 .094-.062.188-.156.188H13.22c-.094 0-.156-.093-.156-.188V7.313c0-.094.062-.188.156-.188zm2.844 0h1.531c.094 0 .188.093.188.188v1.531a.201.201 0 0 1-.188.188h-1.531a.201.201 0 0 1-.188-.188V7.313c0-.094.093-.188.188-.188zm-12.844 3h1.563c.094 0 .156.093.156.188v1.563c0 .094-.062.156-.156.156H3.22c-.094 0-.156-.062-.156-.156v-1.563c0-.094.062-.188.156-.188zm2.906 0h1.563c.094 0 .188.093.188.188v1.563c0 .094-.093.156-.188.156H6.126c-.094 0-.156-.062-.156-.156v-1.563c0-.094.062-.188.156-.188zm2.938 0h1.531c.094 0 .188.093.188.188v1.563c0 .094-.093.156-.188.156H9.064c-.094 0-.188-.062-.188-.156v-1.563c0-.094.093-.188.188-.188zm2.906 0h1.563c.094 0 .156.093.156.188v1.563c0 .094-.062.156-.156.156H11.97c-.094 0-.188-.062-.188-.156v-1.563c0-.094.093-.188.188-.188zm2.906 0h1.563c.094 0 .156.093.156.188v1.563c0 .094-.062.156-.156.156h-1.563c-.094 0-.156-.062-.156-.156v-1.563c0-.094.062-.188.156-.188zM4.001 13.688h12c.088 0 .156.068.156.156v.844a.154.154 0 0 1-.156.156h-12a.154.154 0 0 1-.156-.156v-.844c0-.088.068-.156.156-.156z"/></svg>') no-repeat 16px 8px;
}
/* fading linear gradient */
.mwe-popups-extract::after {
background-image: linear-gradient(to right, transparent, var(--gray-2) 50%) !important;
}
.mw-mmv-ttf-ellipsis::before {
background-image: linear-gradient(to right, transparent, var(--gray-2)) !important;
}
.mwe-popups-extract .mwe-popups-fade,
.mw-mmv-permission-box .mw-mmv-permission-text .mw-mmv-permission-text-fader {
background-image: linear-gradient(to bottom, transparent, var(--gray-2)) !important;
}
.ui-widget-overlay {
background: var(--black_8) !important;
}
.oo-ui-windowManager-modal > .oo-ui-dialog {
background-color: var(--gray-3_5);
}
.mw-body-content pre, .mw-body-content code,
td[style*="border-bottom: 1px solid #eee; background-color:#ffffff"] {
background-color: var(--gray-1) !important;
border-color: var(--gray-5) !important;
color: var(--gray-b9) !important;
}
td[style*="background:#FFFFFF" i], .jfk-bubble, .navpopup,
.popup_drop:hover .popup_menu, .popup_drop .popup_menu:hover, .example-select,
.mw-parser-output a > span[style*="background"]:not([style*="cedff2"]):not([style*="6c71c4"]):not([style*="color:black"]),
p[style*="background-color: #EEE;"] {
background-color: var(--gray-18) !important;
}
.mw-widget-dateInputWidget-handle, .mwe-pt-control-gradient,
.mw-parser-output .quotebox, #languagesettings-settings-panel,
.uls-language-settings-close-block,
.uls-input-settings .uls-input-settings-inputmethods-list, .imeselector-menu,
.uls-ime-menu-settings-item, .ip-label-container, .cbnnr-main, .mw_metadata td,
.kephir-sagittarius-invite, .infobox, .lang-list-container,
.mw-parser-output #bottombox-d, .uls-lcd, .uls-search,
.ns-0 #mw-content-text h1, .wikiEditor-ui-toolbar, .mw-ext-score-popup,
.oo-ui-tagMultiselectWidget.oo-ui-widget-disabled .oo-ui-tagMultiselectWidget-handle,
.mw-parser-output .quotebox-title, .mw-parser-output .portal > ul,
.uls-menu .uls-no-results-view .uls-no-found-more, .mainpage-box-content,
.mw-echo-ui-notificationItemWidget {
background-color: var(--gray-2); /* non-important */
}
.mw-notification, .mw-pt-languages, div.mw-pt-languages, div.thumbinner {
background-color: var(--gray-2);
border-color: var(--gray-5);
}
table:not(.mainpage-maintable):not(.floatright):not([style="width:100%; border:0px; border-collapse:collapse"]):not([style*="#f1f5"]):not([style*="#CED"]):not([style*="background:none;"]):not([style*="background:none;"]):not([cellspacing="0"]):not([style="text-align:center; width:100%"]):not([style*="E6F"]):not([style*="ffff"]):not([style*="E9F"]):not([style*="fff5"]):not([style*="E9E"]):not(.authortemplate):not(.fmbox-editnotice):not([style*="Alice"]):not([style*="efe"]):not([style*="transparent"]):not(.tmbox):not(.standard-talk):not(.cmbox-notice):not([style*="e4f2e4"]):not([style*="feeeee"]):not([style*="dfd"]):not(.processheadertemplate):not(.statstable):not([style*="eeeeff"]):not([style*="yellow"]):not([style*="#f7f8ff"]):not(.mw-alerte):not(.mp_header):not([style*="#FFDBDB"]):not([style*="#F0F8FF"]):not([style*="background: transparent"]):not([style*="background-color:transparent"]):not([style*="rgba(0,0,255,0.1)"]):not(.vertical-navbox):not([style*="#F5FAFF"]):not([style*="background color:transparent"]):not(#cite-err-report):not(.tmbox-notice):not([style*="background:transparent"]):not([style*="f5faff"]):not(.messagebox):not(#sisterwikis):not([class*="Caution"]):not(.tmbox-style):not(.ibox2),
button:not([type="submit"]):not(.tux-editor-save-button):not(.save):not([class*="-settings-block"]):not([class*="mw-mmv-"]):not(.pure-button):not(.wikidialog-button):not(.uls-input-toggle-button),
select, textarea:not([class*="mw-editfont"]),
tr[style*="background: antiquewhite" i]:not([style*="color: black" i]), #toc,
td[style*="background-color"]:not([style*="F9"]):not([style*="FD"]):not([style*="FF"]):not([style*="CF"]):not([style*="fed"]):not([style*="F0F"]):not([style*="F9F"]):not([style*="D4F"]):not([style*="FDB"]):not([style*="FFF"]):not([style*="f4e"]):not([style*="faf"]):not([style*="f1f"]):not([style*="B0C4DE"]):not([style*="cdde"]):not([style*="8"]):not([style*="00"]):not([style*="FF6"]):not([style*="f2f2f4"]):not([style*="fc3"]):not([style*="E6F2FF"]):not([style*="ccccff"]):not([style*="f89b8f"]):not([style*="fba89d"]):not([style*="fecec8"]):not([style*="f68d81"]):not([style*="c1ccf2"]):not([style*="b8c4ef"]):not([style*="fcb5ab"]):not([style*="d33"]):not([style*="fec1b9"]):not([style*="fedbd7"]):not([style*="f0f0ff"]):not([style*="a8b4ea"]):not([style*="b1bced"]):not([style*="c9d4f5"]):not([style*="d2dbf7"]):not([style*="9fade8"]):not([style*="eaf3ff"]):not([style*="e2ebfc"]):not([style*="f8f8ff"]):not([style*="f8fff8"]):not([style*="ddddff"]):not([style*="eeeeff"]),
#mw-content-text div[style*="background:"]:not([style*="BF4"]):not([style*="000"]):not([style*="468"]):not([style*="CED"]):not([style*="008"]):not([style*="ffe"]):not([style*="ffdb"]):not([style*="fafc"]):not([style*="ffe4"]):not([style*="3ff"]):not([style*="ffee"]):not([style*="bce1"]):not([style*="ebb"]):not([style*="EDD"]):not([style*="bff"]):not([style*="f7f7"]):not([style*="444"]):not([style*="fdf6e3"]):not([style*="CCF"]):not([style*="F9FCFF"]):not([style*="2a4b8d"]):not([style*="E0EEE0"]):not([style*="E8F1FF"]):not([style*="EEF"]):not([style*="7DC2F5"]):not([style*="CCC"]):not([style*="F16633"]):not([style*="F0F0FF"]):not([style*="336"]):not([style*="D33"]):not([style*="F0F8FF"]):not([style*="00AF89"]):not([style*="36C"]):not([style*="006699"]):not([style*="990000"]):not([style*="#e7eff5;"]):not([style*="#90EE90;"]):not([class*="-active"]):not([style*="#339966"]):not([style*="FFF"]):not([style*="2E0"]):not([style*="14866d"]):not([style*="transparent"]):not([style*="F5FAFF"]):not([style*="A3B1BF"]):not([style*="fff5fa"]):not([style*="faf5ff"]):not([style^="overflow:hidden;background:#e44"]):not([style*="width"][style*="height"][style*="bottom"]:not([style*="opacity"])),
.vevent td:not(.fileinfo-paramfield), .referencetooltip li, .suggestions,
.mw-ui-button[style*="background"]:not([style*="d33682"]):not([style*="6c71c4"]):not([style*="268bd2"]),
.mw-ui-button[style*="background"] *, .wikiEditor-ui, .mw-search-results li,
table.navbox.collapsible tr:nth-child(2) > td, div.menu, ul.menu,
.oo-ui-popupWidget-popup, .mwe-popups, .mwe-popups-is-not-tall,
.mwe-popups-is-tall, .ui-widget-content, .oo-ui-window-body,
#pagehistory li.selected, .tracklist tr,
.mw-searchresults-has-iw .iw-resultset, .cx-callout-content,
.oo-ui-widget:not([id*="advancedSearchField-"]):not(.wbmi-link-notice):not([aria-disabled]):not(.oo-ui-tabOptionWidget):not(.flow-ui-boardDescriptionWidget):not(.oo-ui-buttonWidget):not(.oo-ui-tabSelectWidget-framed):not(.oo-ui-optionWidget-selected):not(span):not(.ve-ui-cxTargetSurface):not(.ve-ui-cxSourceSurface),
tr[style*="background:#f2f2f2" i], th[style*="background:#EDF1F1" i],
td[style*="background:#EDF1F1" i], tr[style*="background-color:white" i],
tr[style*="background:#f9f9f9" i], td[bgcolor="#FFFFFF" i],
tr[style*="background:#ddd" i], td[style*="background: #F2F2F2" i],
tr[style*="background-color:#F2F2F2" i],
tr[style*="background-color:#FFF5EE" i], tr[bgcolor="FFF5EE" i],
td[bgcolor="FFF5EE" i], tr[style*="background-color:#f0f0f0" i],
.wikitable.charts-zebragrey > tbody > tr:nth-of-type(odd),
td > span[style*="background-color:#eee" i], table.flextable th,
tr[style*="background-color:#FFF" i], td[style*="background:#eee" i],
#mw-searchoptions, .mw-advancedSearch-namespace-selection,
td[style*="background:#fff2e6" i], td[style*="background:#F9F9F0"],
td[style*="background:#F4F9F0"], td[style*="background:#F9F0F0"],
td[style*="background:#f0f0f0"], #mwe-popups-settings,
th[style*="border-bottom: 1px solid #eee; background-color:#ffffff;"],
.table-na[style*="background:#ececec;"], #js-lang-lists .text, div.arcProg,
.infoboks.biografi tr.overskrift th, .infoboks tr.rad td,
.infoboks tr.bilde td, .infoboks tr.overskrift td,
table[style*="background:#f9f9f9;"], table[style*="background:#F7F8FF" i],
table[style*="background-color: white; font-size:100%; border:1px solid #CCC" i] th,
td[style*="background:#F5F5F5"], td[bgcolor="f5f5f5"] {
background-color: var(--gray-2) !important;
}
#advancedSearchField-plain, #advancedSearchField-not, #advancedSearchField-or,
#advancedSearchField-deepcategory, #advancedSearchField-hastemplate {
background-color: var(--gray-1) !important;
}
.mw-parser-output table.floatright[width="35%"] {
background: none;
}
div[style*="background-color: #f0f0f0" i],
table[style*="background: transparent"],
table[style*="background-color:transparent"],
table.navbox-inner[style*="background:transparent"],
.mw-advancedSearch-fieldContainer .oo-ui-labelElement > .oo-ui-fieldsetLayout-header > .oo-ui-labelElement-label {
background: transparent !important;
background-color: transparent !important;
}
body .ui-button, caption[style*="background-color:#f2f2f2"],
table[style*="background:#f8f9fa"] {
background: var(--gray-28) !important;
border-color: var(--gray-5) !important;
}
td[style*="background: White;"] {
background: var(--gray-18) !important;
border-color: var(--gray-18) !important;
}
span[style*="background-color:white; color:black;"],
span[style="background-color:white; color:#808080;"] {
background: transparent !important;
color: var(--gray-c) !important;
}
table:not(.wikitable) td[bgcolor]:not([bgcolor="fcf"]),
table:not(.wikitable) tr[bgcolor]:not([bgcolor="D0D8DD"]),
.app-badges .footer-sidebar-content,
.languagesettings-menu .menu-section:hover {
background-color: var(--gray-28);
}
#mw-sidebar-button:focus {
border-color: var(--base-color);
box-shadow: inset 0 0 0 1px var(--base-color);
}
table[style*="background-color:#fff;" i], .search-form fieldset, table.ambox,
tr[style*="background-color: #fff;" i],
.mw-ui-button[style*="background-color:#008B6D" i],
tr[style*="background-color: #f5faff;" i], tr[style*="background:#E9E9E9" i],
th[style*="background:#E9E9E9" i],
table.infobox.hproduct > tbody > tr[style*="background: #F0F0F0;" i],
tr[style*="background:#f0f0f0;" i], td[style*="background:lightyellow" i],
td[style*="background:#eeeeff" i], td[style*="background:#ddddff" i],
.oo-ui-buttonElement-button:not(.flow-ui-boardDescriptionWidget-editButton):hover,
.tracklist tr[style*="background-color:#f7f7f7" i],
td[style*="background:#F9F9F9" i], th[style*="background:gainsboro" i],
td[style*="background:gainsboro" i], h2[style*="background:#eeeeee" i],
h2[style*="background:#efefef" i], tr[bgcolor*="#eee" i],
tr[style*="background-color:#eee" i],
div[style*="background-color:#eee" i]:not([style*="8aa"]),
.wikitable.charts-zebragrey > tbody > tr:nth-of-type(even),
tr[style*="background:#fbf8d6" i], table.flextable td,
table.nmbox td:not(.mbox-text), tr[style*="background-color:#f7f7f7"],
.mw-changeslist-line tr.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey td:not(:nth-child(-n+2)),
div[style*="background-color: #fff"]:not([style*="ff3"]):not([style*="fff5"]):not([style*="fffd"]),
div[style*="background:#FFF;"] {
background-color: var(--gray-28) !important;
}
.oo-ui-tabSelectWidget-framed, .flaggedrevs-color-1 {
background-color: var(--gray-3);
}
.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected,
.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover {
background-color: var(--gray-2);
color: var(--gray-a);
}
.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover {
background-color: var(--gray-28);
color: var(--gray-a);
}
.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label {
border-bottom-color: var(--gray-2);
}
div.barbox > table > tbody > tr > th, .cx-campaign-contributionsmenu li:hover,
.suggestions-results, .suggestions-special, #mwe-pt-list-more,
.fr-watchlist-pending-notice, div.flaggedrevs_notice,
.imeselector-menu .selectable-row:hover, .guider, .mw-pt-languages-label,
.mw_metadata th, .uls-language-block > ul > li:hover, th[bgcolor],
.wikEdDiffBlock, .installerMessage, .styled-select:hover,
.rt-settingsLink:hover, .mw-echo-ui-notificationItemWidget:hover {
background-color: var(--gray-3); /* don't include !important flag */
}
.imeselector {
background-color: var(--gray-18);
}
.imeselector:not(.imeselector-open):hover {
background-color: var(--gray-18);
}
.uls-ime-more-settings-link:hover {
filter: brightness(130%);
}
body .ui-dialog .ui-icon-closethick, .vectorMenu h3::after, .oo-ui-icon-add,
.mw-ui-icon-add::before {
filter: invert(1) brightness(80%);
}
.oo-ui-icon-highlight {
filter: grayscale(1) brightness(250%);
}
.ui-state-hover, .ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover, .ui-state-focus,
.ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
border: 1px solid var(--gray-4) !important;
background: var(--gray-5);
}
.ui-state-default, .ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid var(--blue-3);
background: var(--blue-3);
color: var(--base-color);
}
.client-js .mw-ui-radio:not(#noop) [type="radio"]:enabled:checked + label::before {
border-color: var(--base-color);
}
.client-js .mw-ui-radio:not(#noop) [type="radio"] + label::before {
background-color: var(--gray-1);
border: 1px solid var(--gray-4);
}
.uls-no-found-more {
border-top: 1px solid var(--gray-4);
color: var(--gray-c);
}
table.wikitable > tr > th,
table.wikitable > * > tr > th:not([style*="#ABC;"]):not([style*="#fdb"]):not([style*="#fed"]):not([style*="#fef"]):not([style*="#d4f"]):not([style*="0; color:#000000"]):not([style*="FF; color:#000000"]),
td[style*="background: #ececec;" i], th[style*="background:#eee" i],
th[style*="background-color: #eee" i], tr[style*="background: #dddddd" i],
tr[style*="background-color: #f7f7f7;" i], th[style*="background:#F2F2F2" i],
#filetoc, th[style*="background:#F9F9F9" i],
th[style*="background-color: lightgrey" i], th[style*="background:#ddd" i],
.infobox th[style*="background"]:not([style*="green"]):not([style*="background:#dfc;"]):not(.infobox-above):not([style*="lavender"]):not([style*="cfe3ff"]):not([style*="rgb(235,235,210)"]):not([style*="antiquewhite"]),
.infobox tr[style*="background-color"]:not([style*="cedff2"]),
.infobox td[style*="background"]:not([style*="D8B"]):not([style*="000"]):not([style*="cdde"]):not([style*="e8dbae"]):not([style*="FE4"]):not([style*="301"]):not([style*="722"]):not([style*="781"]):not([style*="702"]):not([style*="6C3"]):not([style*="880"]):not([style*="866"]):not([style*="512"]):not([style*="DE6"]):not([style*="C54"]):not([style*="B76"]):not([style*="9A4"]):not([style*="4E2"]):not([style*="DF0"]):not([style*="DA7"]):not([style*="DF7"]):not([style*="9F00"]):not([style*="FAE6"]):not([style*="E0B0"]):not([style*="800080"]):not([style*="66023C"]):not([style*="7851A9"]):not([style*="C71585"]):not([style*="BF00FF"]):not([style*="A020F0"]):not([style*="9370DB"]):not([style*="663399"]),
td[style*="background:#F2F2F2" i],
table.wikitable > tbody > tr[style*="background-color:#F6F6F6" i], .tlheader,
th[style*="background:whitesmoke" i], td[style*="background:whitesmoke" i],
th[style*="#FFEBAD" i], table.nmbox th:not([style*="#EEF"]),
tr[style*="#eaecf0" i], td[style*="#eaecf0" i],
p[style*="background-color:#F7FAFC" i],
.infobox.standard-talk tr[style*="#e8dbae"], th[style="background:lightgrey"],
div[style*="background-color: #dddddd" i] {
background-color: var(--gray-3) !important;
}
.infobox-above[style="background-color:whitesmokemorph"],
.infobox-above[style="background-color:lemonchiffon"],
.infobox-above[style="background-color:thistle"],
.infobox-above[style="background-color:#E0E0E0"],
.infobox-above[style="background-color:beige"],
.infobox-above[style="background-color:lightgreen"],
.infobox-above[style="background-color:pink"],
.infobox-above[style="background-color:antiquewhite"],
.infobox-above[style="background-color:lightblue"] {
background-color: var(--gray-69) !important;
}
.plainlinks.mw-trackedTemplate {
background: var(--gray-3) !important;
}
.licensetpl.fileinfotpl tbody th {
background-color: var(--gray-4) !important;
}
.navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title {
background-color: var(--gray-5);
}
.mw-revslider-revision, .cbnnr-close {
background-color: var(--gray-7);
}
.mw-revslider-revision-wrapper:hover, .mw-revslider-revision-wrapper-hovered {
background-color: var(--black_5);
}
/* remove background image/gradient */
.keyboard-key, kbd, div#editpage-specialchars a,
body div.ui-dialog .ui-widget-header {
background: var(--gray-3) !important;
border-color: var(--gray-5) !important;
}
.catlinks {
background: var(--gray-28);
}
body .ui-button:hover {
background: var(--gray-4) !important;
border-color: var(--gray-5) !important;
}
/* white background to wikEd - see #24 */
.wikEdFrameBodySyntax, #wpTextbox1 {
background: var(--gray-18);
}
#wmhu-tax-banner-text {
color: var(--base-color);
}
#wmhu-tax-banner {
background-color: var(--gray-18);
border: 0;
}
img[src*="Check_mark_23x20_02.svg"],
img[resource*="OOjs_UI_icon_userTalk-ltr.svg"] {
filter: invert(100%) brightness(80%);
}
img[src*="76px-Wikimedia_Research_Newsletter_Logo.png"],
img[src*="OOjs_UI_icon_download-ltr-progressive.svg.png"],
.mw-rcfilters-ui-filterWrapperWidget-showNewChanges .oo-ui-iconElement-icon {
filter: invert(100%) hue-rotate(180deg);
}
div[style="float:right; border:1px solid #CCC"] {
border-color: var(--gray-2) !important;
}
a img[src*="WRN_header.png"] {
filter: invert(88%);
}
.keyboard-key, kbd {
box-shadow: .1em .2em .2em var(--gray-4) !important;
}
.mw-mmv-ttf-ellipsis, .navpopup, .oo-ui-popupWidget-popup, input + span,
.pure-form input[type=search], .searchbox .mw-ui-input {
box-shadow: none !important;
}
.mw-ui-input {
box-shadow: inset 0 0 0 .1em var(--gray-5);
}
.pure-button-primary-progressive:focus,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus:not(:active),
.mw-ui-button.mw-ui-progressive:focus:not(:active) {
box-shadow: inset 0 0 0 1px var(--base-color), inset 0 0 0 2px var(--gray-a) !important;
}
.oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus {
outline: 0;
box-shadow: inset 0 0 0 2px var(--base-color);
}
.oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus,
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus {
outline: 1px solid var(--base-color);
box-shadow: inset 0 0 0 1px var(--base-color);
}
.oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover {
background-color: rgba(41, 98, 204, .1);
color: var(--base-color);
}
.oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle {
background-color: var(--gray-3);
color: var(--base-color);
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus {
border-color: var(--base-color) !important;
}
.oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus {
box-shadow: inset 0 0 0 1px var(--base-color);
border-color: var(--base-color);
}
.oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus {
outline: 1px solid var(--base-color);
}
strong, em {
text-shadow: none !important;
}
hr {
background-color: transparent !important;
border-color: var(--gray-5) !important;
}
.mw-editfont-monospace {
background-color: var(--gray-2);
color: var(--gray-b9);
}
.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend {
background-color: var(--gray-2);
}
.mw-parser-output .mainpage-welcome-slogan,
.flow-topic-summary-container .flow-topic-summary .flow-topic-summary-author,
.flow-topic-summary-container .flow-ui-editTopicSummaryWidget .flow-topic-summary-author,
.mw-mmv-options-text-header, .imeselector a,
.languagesettings-menu .menu-section:hover .settings-text, .ime-disable-link,
span[style="white-space:nowrap;"], .mw-history-legend, #mw-content-text,
.mw-mmv-options-text-body {
color: var(--gray-c);
}
.mw-body pre, .mw-body code, .mw-body .mw-code {
background-color: var(--gray-1) !important;
border-color: var(--gray-5) !important;
color: var(--gray-b9) !important;
}
.messagebox, .errorbox, .warningbox, .successbox,
.suggestions-special .special-label, .reference-text,
.mwe-popups .mwe-popups-container, #viewsourcetext {
color: var(--gray-c);
}
.mwe-popups .mwe-popups-container {
background-color: var(--gray-2) !important;
}
.mwe-popups .mwe-popups-container .mwe-popups-thumbnail {
background-color: var(--white) !important;
}
span[style="color:black"], span[style*="color: black"],
span[style*="color:black"], td[style*="color: black"],
td[style*="color: #2C2C2C"], .mwe-popups-container a {
color: var(--gray-c) !important;
}
span[style*="color: #000"], .wikiEditor-ui-toolbar .page-table td,
sup[style*="color:#000"], div[style*="color:#000"], .editOptions {
color: var(--gray-c) !important;
}
.flow-component.flow-board-page.flow-full-height-side-rail .flow-board-header::before {
background-color: var(--gray-3);
}
div[style*="background: #FFF;"], div[style*="background:gainsboro;"],
div[style*="background:#eee"] {
background: var(--gray-4) !important;
}
.mw-ui-icon.mw-ui-icon-before::before, .mw-ui-icon.mw-ui-icon-element::before,
.mw-parser-output .helpContents-icon, img[src*="9px-AnonEditWarning"],
a img[src*="OOjs_UI_icon"] {
filter: invert(80%);
}
.k-player .control-bar {
filter: invert(1) brightness(80%) contrast(135%);
background: var(--gray-b9);
border: 1px solid var(--gray-7);
}
.k-player .credits_box, .lButton:hover, .rButton:not(.k-options):hover,
.ui-icon-comment:hover {
background-color: var(--gray-2);
border: 0 !important;
}
.k-player .lButton, .k-player .rButton {
border: medium none;
}
.k-player .volume-slider a.ui-slider-handle.ui-state-hover,
.k-player .volume-slider a.ui-slider-handle.ui-state-focus {
border: 0 !important;
}
.k-player .k-options:hover {
border-bottom: 1px solid transparent !important;
}
.k-player .ui-widget-content {
color: var(--gray-c);
}
div > .flow-menu li a, .mw-mmv-post-image,
.mw-mmv-permission-box .mw-mmv-permission-text .mw-mmv-permission-text-fader a {
background-color: var(--gray-2) !important;
}
.mw-mmv-download-button, .mw-mmv-reuse-button, .mw-mmv-options-button,
.mw-mmv-close, .mw-mmv-fullscreen, .mw-mmv-next-image, .mw-mmv-prev-image,
.mw-page-container, #mw-panel {
background-color: transparent !important;
border: none !important;
}
.mw-rcfilters-ui-filterMenuHeaderWidget-header,
.mw-rcfilters-ui-menuSelectWidget-footer,
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle,
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagMultiselectWidget-handle,
.flaggedrevs_reviewform, .mw-specialCiteThisPage-bibliographic {
background-color: transparent;
}
.oo-ui-tagMultiselectWidget-focus {
box-shadow: inset 0 0 0 1px var(--base-color) !important;
}
.mw-enhanced-rc.mw-changeslist-line,
.mw-collapsible.mw-enhanced-rc.mw-changeslist-line,
.mw-collapsible.mw-enhanced-rc.mw-changeslist-line td,
.oo-ui-widget-enabled.mw-rcfilters-ui-changesListWrapperWidget,
.oo-ui-widget-enabled.mw-rcfilters-ui-filterWrapperWidget,
.oo-ui-widget-enabled.mw-rcfilters-ui-rcTopSectionWidget,
.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget,
.oo-ui-widget-enabled.mw-rcfilters-ui-watchlistTopSectionWidget {
background-color: transparent !important;
}
tr[style*="background"]:not([style*="ABCDEF"]):not([style*="cedff2"]):not([style*="E4F2E4"]):not([style*="ccccff"]):not([style*="white"]) {
background-color: transparent;
}
#mw-fr-watchlist-pending-notice {
background-color: var(--red-3) !important;
border-color: var(--red-0) !important;
}
table[style*="border:1px solid #a2a9b1"] {
border: 1px solid var(--gray-4) !important;
}
table[style*="border:1px solid #a2a9b1"] td,
.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend {
border-color: var(--gray-4) !important;
}
.oo-ui-tagItemWidget, .wikiEditor-ui-toolbar .page-table td {
border-color: var(--gray-5);
}
.mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle,
.mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget,
.ui-dialog, .mw-parser-output table.dmbox {
border-color: var(--gray-4);
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button,
.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button {
background-color: var(--gray-2);
border-color: var(--gray-3) !important;
}
/*** Background Color Styles ***/
div[style*="background-color:white; border"] {
background-color: transparent !important;
border: 1px solid var(--green-3) !important;
}
/* ORES highlight colors */
.mw-rcfilters-ui-highlights-color-none {
background-color: var(--gray-7);
}
.mw-rcfilters-ui-highlights-color-c1,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c1"]::before {
background-color: var(--blue-2);
}
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c1,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c1 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c1.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c1.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--blue-2) !important;
}
.mw-rcfilters-ui-highlights-color-c2,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c2"]::before {
background-color: var(--cyan-1) !important;
}
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c2,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c2 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c2.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c2.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--cyan-1);
}
.mw-rcfilters-ui-highlights-color-c3,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c3"]::before {
background-color: var(--ores-1);
}
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c3,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c3 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--ores-1) !important;
}
.mw-rcfilters-ui-highlights-color-c4,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c4"]::before {
background-color: var(--ores-2);
}
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--ores-2) !important;
}
.mw-rcfilters-ui-highlights-color-c5,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c5"]::before {
background-color: var(--ores-3);
}
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--ores-3) !important;
}
.mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title,
.mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc,
.ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link,
.ve-ui-mwHelpPopupTool-version-date {
color: var(--gray-7);
}
/* Red
** Red links (non-existant pages) */
div.vectorTabs li.new:not(.selected) a, .mw-plusminus-neg,
span[style="color:darkred"] {
color: var(--red-1) !important;
}
table.xambox.xambox-type-serious {
border-left: 1em solid var(--red-2);
}
.mw-translate-fuzzy {
background-color: var(--red-3);
}
td[style*="background:#ff9292;"] {
background-color: var(--red-2) !important;
color: var(--gray-e);
filter: contrast(130%);
}
td[style="background-color: #FDB3AB;"],
th[style*="background:#fdb3ab;"][colspan="3"],
th[style*="background:#fdb3ab;"][colspan="4"] {
background-color: var(--red-3) !important;
color: var(--gray-c);
}
span[style*="border:1px solid #AAAAAA; padding:1px .6em; background-color:#fdb3ab;"] {
background-color: var(--red-3) !important;
border: 1px solid var(--red-3) !important;
}
span[style*="border-left: 1.2em solid #FDB3AB;"] {
border-left: 1.2em solid var(--red-3) !important;
}
.wikitable td[style*="background:#ffdbdb;"] {
background-color: var(--red-2) !important;
color: var(--gray-e);
filter: contrast(120%);
}
td[style*="background:#fff;"] {
background-color: var(--gray-28) !important;
}
div[style*="background:#ffdbdb"] {
background-color: var(--red-0) !important;
}
span[style*="color:black;background:white;border:3px solid red;"] {
background-color: var(--gray-2) !important;
border-color: var(--red-3) !important;
color: var(--gray-a) !important;
}
div.mw-warning-with-logexcerpt, div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon,
div.titleblacklist-warning, div.locked-warning {
background-color: var(--red-0);
border-color: var(--red-1);
}
div[style*="border-right:1px solid #FFFFFF; padding:0.1em; background-color:#FFFAF5"] {
background: var(--red-0) !important;
border-color: var(--red-0) !important;
}
div[style*="border-bottom:2px solid #FFFFFF; padding:0.1em; background-color:#FFF2E6;"] {
background: var(--red-3) !important;
border-color: var(--red-3) !important;
}
th[style="color:white;background:red"],
caption[style="color:white;background:red"] {
background: var(--red-2) !important;
color: var(--gray-d) !important;
}
th[style*="background:#fdb3ab;"] {
background: var(--red-2) !important;
}
td[style*="background: #FDD;" i], .table-no, td[style*="background:#fdd" i],
td[style*="background: #ffdddd" i], tr[style*="background:#FFDDDD" i],
tr[style*="background:#fbb" i] {
background: var(--red-3) !important;
color: var(--gray-d) !important;
}
td.projects[style*="border:1px solid #C66; background: #FCC;"],
table[style="background-color: #FFDBDB; border-color: #BB7070"],
div[style*="border:solid 1px #282; background:#ebb;"] {
background: var(--red-0) !important;
border-color: var(--red-3) !important;
}
td[style="background-color: #d33"] {
background-color: var(--red-3) !important;
color: var(--gray-a);
}
td[style="background-color: #fedbd7"] {
background-color: var(--red-0) !important;
color: var(--gray-a);
}
td[style="background-color: #f68d81"], td[style="background-color: #fecec8"],
td[style="background-color: #fba89d"], td[style="background-color: #f89b8f"] {
background-color: var(--red-3) !important;
color: var(--gray-a);
}
td[style="background-color: #fec1b9"], td[style="background-color: #fcb5ab"],
td[style*="background:#fcc"] {
background-color: var(--red-3) !important;
}
table[style="background-color: #fee;"] {
background-color: var(--red-0) !important;
}
tbody td[style*="border:1px solid #6BB; background-color: #CFF;"] {
background-color: var(--blue-2) !important;
border: 1px solid var(--blue-3) !important;
}
.plainlinks span[style*="background-color: #36c;"],
.plainlinks span[style*="border: 1px solid #36c;"] {
background-color: var(--base-color) !important;
border: 1px solid var(--base-color) !important;
}
body .ui-button.ui-button-blue {
border-color: var(--base-color) !important;
background: var(--base-color) !important;
background: linear-gradient(to bottom, var(--base-color) 0%, var(--base-color) 90%) !important;
}
body .ui-button.ui-button-blue:hover {
border-color: var(--base-color) !important;
background: var(--base-color) !important;
background: linear-gradient(to bottom, var(--base-color) 0%, var(--base-color) 90%) !important;
color: var(--gray-e) !important;
opacity: .9;
}
.plainlinks span[style="color:white;"], body a span .ui-button-text b,
div[style*="background-color:#f8f9fa;"] b, span[style="color:#4F4F4F;"] {
color: var(--gray-d) !important;
}
td[style*="border:1px solid #BF4D40; padding:5px; background:#D9948C; color:#FFFFFF" i] {
border: 1px solid var(--red-3) !important;
background: var(--red-3) !important;
color: var(--gray-e) !important;
}
div[style*="border:1px solid #BF4D40; background:#BF4D40"] {
border: 1px solid var(--red-3) !important;
background: var(--red-3) !important;
}
div[style*="background:#F2DBD9"] {
background: var(--red-rgb) !important;
}
td[style*="border:1px solid #BF4D40"], div[style*="border: 1px solid #BF4D40"] {
border: 1px solid var(--red-3) !important;
}
/* Green */
.mw-parser-output .MainPage__column--left {
border: 1px solid var(--green-1);
color: var(--gray-e);
background-color: var(--green-4);
}
.resolved span[style*="border:1px solid #aaa" i],
div[style*="border-color: #50C878"] {
border-color: var(--green-2) !important;
}
.resolved span[style*="background:#f9fcf9" i],
div[style*="background-color: #ECFCF4"] {
background-color: var(--green-4) !important;
}
.mw-plusminus-pos, span[style*="color: darkgreen" i] {
color: var(--green-1) !important;
}
.mw-parser-output .documentation, .mw-parser-output .documentation-metadata,
.template-documentation {
background-color: var(--green-4);
border-color: var(--green-2);
}
.footertemplate, #navigationHeader div[style*="background-color:#E6F2E6" i] {
background-color: var(--green-4) !important;
border: 1px solid var(--green-2) !important;
}
th[style*="background:#EEF3E2" i] {
background-color: var(--green-3) !important;
}
td[style="background-color: #D4F4B4;"], th[style*="background:#d4f4b4;"] {
background-color: var(--green-2) !important;
}
span[style*="border-left: 1.2em solid #D4F4B4" i] {
border-left: 1.2em solid var(--green-2) !important;
}
span[style*="border:1px solid #AAAAAA; padding:1px .6em; background-color:#d4f4b4" i] {
background-color: var(--green-2) !important;
border: 1px solid var(--green-2) !important;
}
th[style*="background:palegreen;"] {
background-color: var(--green-2) !important;
color: var(--gray-e) !important;
}
td.mbox-text[style*="border: 1px solid #AAA;"],
tr[style*="background-color: #E4F2E4;"], div[style*="background:#00af89;"] {
background-color: var(--green-4) !important;
}
td[style*="background-color:#98FB98" i],
td[style*="background-color: #98FB98" i] {
background-color: var(--green-2) !important;
}
td[style*="background-color:#CFC" i], td[style*="background-color: #CFC" i] {
background-color: var(--green-3) !important;
}
u[style*="color:#087643;"] {
color: var(--green-1) !important;
text-shadow: none !important;
}
div[style*="background-color: #E5FFE5; border: 0.2em light green;"] {
background-color: var(--green-4) !important;
border: .1em solid var(--green-1) !important;
}
td[style="border:1px solid #9f8f9f; padding: .5em 1em 1em; color: #000; background-color: #f8fff8"],
table[style*="border: #9BF solid 1px; background: #F1F8F1;"],
table[style*="border: 1px solid #060; background: #dfd;"],
table[style*="background-color: #e4f2e4; border: 1px solid #ada;"] {
border-color: var(--green-2) !important;
background: var(--green-4) !important;
}
div[style*="background:#CEF2E0"] {
border-color: var(--green-1) !important;
background: var(--green-2) !important;
}
div[style*="background-color:#cef2e0"], th[style*="background: #CFC;"] {
background: var(--green-2) !important;
}
div[style*="background:#E6FFF2"], div[style*=";background:#14866d"] {
background: var(--green-3) !important;
}
div[style*="background:#E0EEE0"],
th.navbox-title[style="background:lightgreen;"],
th.navbox-title[style="background:lightgreen;"] * {
background: var(--green-3) !important;
}
th.navbox-title[style="background:#3EB489;"],
th.navbox-title[style="background:#3EB489;"] * {
background: var(--green-2) !important;
}
div[style*="background:#F5FFFA"] {
background: var(--green-4) !important;
border-color: var(--green-1) !important;
color: var(--gray-9a) !important;
}
div[style*="border-bottom:1px solid #A3BFB1"] {
border-bottom: 1px solid var(--green-1) !important;
border: 0 solid var(--green-1) !important;
}
div[style*="background:#F5FFFA; border-style:solid; border-width:1px; border-color: #A3BFB1"],
div[style*="border: 1px solid #ffc9c9; background-color: #fffff3;"] {
background: var(--green-4) !important;
border: 1px solid var(--green-1) !important;
}
div[style*="border:1px solid #A3BFB1; background-color:#E6FFF2;"] {
background: var(--green-2) !important;
border-color: var(--green-1) !important;
}
div[style*="border-bottom:2px solid #FFFFFF; padding:0.1em; background-color:#E0F2CE;"] {
background: var(--green-2) !important;
border-color: var(--green-2) !important;
}
div[style="float:left; box-sizing:border-box; margin:0.2em 0; width:50%; border-left:1px solid #FFFFFF; border-right:1px solid #FFFFFF; padding:0.1em; background-color:#F2FFE6"] {
background: var(--green-4) !important;
border-color: var(--green-4) !important;
}
th[style="color:white;background:green"],
caption[style="color:white;background:green"] {
background-color: var(--green-3) !important;
color: var(--gray-d) !important;
}
td[style*="background:#f5fffa; border:1px solid #ccc;"],
tbody td[style*="border:1px solid #6B6; background: #CFC;"] {
background-color: var(--green-4) !important;
border-color: var(--green-2) !important;
}
.userSummaryButtons a, #userSummaryButtons a {
background-color: var(--green-4);
border-color: var(--green-3);
color: var(--gray-a) !important;
}
.userSummaryButtons a:hover, #userSummaryButtons a:hover {
background-color: var(--green-4);
border-color: var(--green-3);
filter: brightness(120%);
}
td[style*="background: #99FF99;" i], .table-yes,
td[style*="background:#dfd" i], td[style*="background:#bfd" i],
tr[style*="background:#DDFFDD" i], tr[style*="background:#bfb" i],
tr[style*="background-color:#CCFFCC" i],
table.ext-status-stable > tbody > tr.tpl-infobox-header {
background: var(--green-2) !important;
color: var(--gray-d) !important;
}
table[style*="border: 1px solid #AAA; background: ivory;"],
div[style="background-color: #e3f9df; padding: 0 10px 0 10px; border: 1px solid #AAAAAA;"] {
background: var(--green-4) !important;
border-color: var(--gray-4) !important;
}
div[style="background-color: #f5fff5; margin: 2em 0 0 0; padding: 0 10px 0 10px; border: 1px solid #AAAAAA;"] {
background: var(--green-2) !important;
border-color: var(--gray-4) !important;
}
#localNotice table[style="border: 1px solid #009966;"] {
border: 1px solid var(--green-1) !important;
}
table[style*="box-shadow: 2px 2px 2px #CCC;"] {
box-shadow: 0 0 1px var(--gray-5) !important;
}
html table th[style*="background:#dfc;"] {
background: var(--green-2) !important;
}
.mw-tag-marker {
background: var(--green-4);
}
span[style="background-color:#EFF; color:#000"] {
background-color: var(--green-4) !important;
color: var(--gray-e) !important;
}
span[style="background-color:#EFF"] {
background-color: var(--green-4) !important;
}
span[style="background-color:#EFE; color:#000"] {
background-color: var(--green-a0) !important;
color: var(--gray-e) !important;
}
span[style="background-color:#DFD; color:#000"] {
background-color: var(--green-a1) !important;
color: var(--gray-e) !important;
}
/* Yellow */
table.ext-status-beta > tbody > tr.tpl-infobox-header,
td[style*="background: #f9f9e9;" i], span[style*="background: #f9f9e9;" i] {
background: var(--yellow-1) !important;
color: var(--gray-3) !important;
}
th[style="color:black;background:gold"],
caption[style="color:black;background:gold"] {
background: var(--yellow-1) !important;
color: var(--gray-1) !important;
}
th[style="border-top: 5px solid #CF9C65"] {
border-top-color: var(--yellow-1) !important;
}
td[style*="background-color: #FF6"] {
background: var(--brown-2) !important;
}
.usermessage {
background: var(--brown-4);
border-color: var(--yellow-1);
color: var(--gray-c);
}
span[style="background-color:#FFC; color:#000"] {
background-color: var(--brown-1) !important;
color: var(--gray-e) !important;
}
span[style="background-color:#FFC"] {
background-color: var(--brown-1) !important;
}
span[style="background-color:#FC6; color:#000"] {
background-color: var(--brown-2) !important;
color: var(--gray-e) !important;
}
/* Orange */
th[style="border-top: 5px solid #FFF157;"] {
border-top-color: var(--orange-2) !important;
}
table.ext-status-experimental > tbody > tr.tpl-infobox-header {
background: var(--orange-1) !important;
}
.wikipediauserbox table[style*="background:yellow"] {
background: var(--yellow-1) !important;
}
div.wikipediauserbox[style*="border:1px solid orange"] {
border-color: var(--orange-2) !important;
}
span[style*="border-left: 1.2em solid #FED1A0;"] {
border-left: 1.2em solid var(--yellow-1) !important;
}
span[style*="border:1px solid #AAAAAA; padding:1px .6em; background-color:#fed1a0;"] {
border: 1px solid var(--yellow-1) !important;
background-color: var(--yellow-1) !important;
}
th[style*="background:#fed1a0;"][colspan="3"], td[style*="background:#ffc"] {
background-color: var(--yellow-1) !important;
}
/* Gray */
h2[style*="color:white;"], th a span[style*="color:#FFFFFF"],
b[style="color:black" i] {
color: var(--gray-e) !important;
}
.uls-ui-languages p, .checkbox {
color: var(--gray-a);
}
.mw-parser-output .MainPage__banner {
border: 1px solid var(--gray-4);
background-color: var(--gray-28);
color: var(--gray-e);
}
.navbox-even, .mw-line-even {
background: var(--gray-18) !important;
}
.mw-line-odd, .navbox-odd {
background: var(--gray-2) !important;
}
#AjaxQuestionParse, #AjaxQuestionParse0, div[id^="AjaxQuestionParse"] {
color: var(--gray-c);
background: var(--gray-1);
border: 1px solid var(--gray-4);
}
.ns-talk .mw-body-content dl dl, .ns-talk .mw-body-content dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl dl dl dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl dl dl dl dl dl dl dl dl,
table:not([style*="efe"]):not([style*="background-color:transparent;"]).wikitable td:not([bgcolor]),
table.prettytable td, .statstable > * > tr.tux-statstable-even > td {
background: var(--gray-2);
}
tr[style*="background: #DEDEDE"] {
background: var(--gray-3) !important;
}
th[style*="background: #EFEFEF"] {
background: var(--gray-28) !important;
}
td[style*="background-color: #FFF"],
.mw-parser-output .current-events {
background-color: var(--gray-2) !important;
}
table[style*="background: #f9f9f9"], .mw-parser-output .commonscat,
div[style*="background-color:#FFFFFF"] {
background: var(--gray-2) !important;
}
table[style*="border: 1px solid #aaaaaa"] {
border-color: var(--gray-4) !important;
}
td[style*="border-top: 1px solid white; border-left: 1px solid white; border-bottom: 1px solid white"],
td[style*="border-top: 1px solid white; border-right: 1px solid white; border-bottom: 1px solid white"] {
border-color: var(--gray-3) !important;
}
span[style*="border:1px solid #aaa; background:#fcf9f9;"] {
background: var(--gray-3) !important;
border-color: var(--gray-5) !important;
}
span[style="background-color:#EEE; color:#000"] {
background-color: var(--gray-2) !important;
color: var(--gray-e) !important;
}
span[style="background-color:#FFF; color:#000"] {
background-color: var(--gray-1) !important;
color: var(--gray-e) !important;
}
div[style*="background-color: #f5f3ef;"] {
background: var(--gray-2) !important;
border-color: var(--gray-5) !important;
}
.mw-mmv-dialog {
background-color: var(--gray-2);
box-shadow: 0 2px 2px 0 var(--gray-5);
}
.mw-mmv-dialog .mw-mmv-dialog-down-arrow, .oo-ui-panelLayout-framed {
background-color: var(--gray-2);
}
.flow-topic-titlebar, .fieldsetlike .legendtextlike,
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled {
background: var(--gray-2);
}
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .mw-rcfilters-ui-tagItemWidget-selected.oo-ui-tagItemWidget.oo-ui-widget-enabled {
background-color: var(--gray-2);
border-color: var(--base-color);
}
div[style*="background:#f7f7f7; border:solid 1px #CCC;"] {
background-color: var(--gray-18) !important;
border-color: var(--gray-5) !important;
}
div[style*="background: white;"],
table[style*="background-color:#efefff; border: 1px solid #1e90ff;"] {
background-color: var(--gray-2) !important;
border-color: var(--blue-4) !important;
}
div[style*="border: 1px solid #CCC; border-top-width: 1px; vertical-align: top;background: white;"],
div[style*="border: 1px solid #a2a9b1; padding: 0.2em; background-color: white;"],
td[style*="background: #ffffff"], td[style*="background-color: #FFFFFF"],
.mw-parser-output .p-current-events-calendar,
.mw-parser-output .current-events-sidebar,
.mw-parser-output .p-current-events-headlines,
.mw-parser-output .current-events-main,
.mw-parser-output .contents-pages-footer {
background-color: var(--gray-2) !important;
border-color: var(--gray-5) !important;
}
.mw-widgets-datetime-dateTimeInputWidget-handle,
.fancycaptcha-captcha-and-reload {
background-color: var(--gray-18);
border-color: var(--gray-5) !important;
}
.tux-workflow-status-triangle::after {
border-top: 6px solid var(--gray-a);
}
.wikidialog-button.wikidialog-delegable, .tux-workflow-status {
background-color: var(--gray-4);
border-color: var(--gray-5);
color: var(--gray-c);
}
.statstable > * > tr > th, .fancycaptcha-captcha-container,
.mw-parser-output .p-current-events-calendar div {
background-color: var(--gray-3);
border: 1px solid var(--gray-5);
}
.statstable > * > tr > td {
background-color: var(--gray-18);
border-left: 1px solid var(--gray-5);
border-right: 1px solid var(--gray-5);
}
div[style*="box-shadow: 0 0 0.3rem #999;"] {
border: 1px solid var(--gray-5) !important;
box-shadow: 0 0 .1rem var(--gray-7) !important;
}
div.noarticletext, div.fmbox-system {
background: var(--gray-18);
border-color: var(--gray-4);
}
div[style*="background: rgb(51, 102, 204)"] {
background-color: var(--brown-1) !important;
color: var(--gray-d) !important;
}
span[style*="border: 1px solid #aaa; background: #f9fcf9;"],
span[style*="border: 1px solid #aaa; background-color: #f9fcf9;"],
span[style*="border: 1px solid #aaa; background-color: #fcf9f9;"],
span[style*="border: 1px solid #aaa; background-color: #fcfcf9;"],
div[style*="border:1px solid #AAAAAA; background-color:#FFFFFF;"],
div[style*="background-color:#FFFFFF; border:1px solid #CCCCCC;"],
div[style*="background-color: #F3F9FF; margin: 2em 0 0 0; padding: 0 10px 0 10px; border: 1px solid #AAAAAA;"],
div[style*="background-color: #f3f9ff; border: 1px solid #aaaaaa;"],
div[style*="border:1px solid #CCC; background-color: #FCFCFC;"] {
background-color: var(--gray-28) !important;
border-color: var(--gray-5) !important;
}
td[style*="background: #F5F5FF"] {
background-color: var(--gray-28) !important;
}
.oo-ui-menuSelectWidget {
background-color: var(--gray-18);
border-color: var(--gray-5);
}
table.ext-status-unknown > tbody > tr.tpl-infobox-header {
background: var(--gray-5) !important;
}
tr[style*="background:#F3F3F3" i] {
background: var(--gray-28) !important;
}
div[style*="background-color:rgb(200,200,200);"], .collection-warning-box,
tr[style*="background-color: white;"], th[style*="background: #ccc;"],
span[style*="background-color: #e8e8e8;"], th[style="background:#efefef;"],
tr[bgcolor="D0D8DD"] td, tr[bgcolor="E5E4E2"] *,
div[style*="background-color:#cccccc;"], th[style*="background-color:#ddd"] {
background-color: var(--gray-3) !important;
}
.oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover,
.mw-parser-output .current-events-calendar caption {
background-color: var(--gray-3);
}
div[style*="background-color: #F9F9F9;"] {
background-color: var(--gray-2) !important;
border-color: var(--gray-5) !important;
}
.tux-message-editor {
border: 1px solid var(--gray-5);
background-color: var(--gray-2);
}
.ext-translate-container .tux-messagelist .tux-message-pagemode:first-child .tux-message-item-compact,
.tux-message-editor .editcolumn,
.ext-translate-container .tux-messagelist .tux-message-pagemode:last-child .tux-message-item-compact {
border-color: var(--gray-5);
}
.ext-translate-container .tux-messagelist .tux-message-pagemode .tux-message-item-compact,
.tux-message-item, .tux-message-selector .more ul, table.fmbox {
background: var(--gray-2);
border-color: var(--gray-5);
}
.tux-dropdown-menu {
background: var(--gray-2);
border-color: var(--gray-3) var(--gray-7) var(--gray-7) var(--gray-7) !important;
}
.tux-message-editor__caret::before, .tux-message-editor__caret::after {
border-top: 20px solid transparent;
border-right: 20px solid var(--gray-5);
border-bottom: 20px solid transparent;
}
.tux-message-editor__caret::after {
border-right: 20px solid var(--gray-28);
}
.tux-messagelist, .tux-message-editor .editcolumn,
.grid .tux-message-editor .infocolumn-block {
background-color: var(--gray-28) !important;
color: var(--gray-a) !important;
}
.tux-pagemode-status.fuzzy {
background-image: linear-gradient(transparent, transparent),
url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2233.389%22 height=%2222.857%22 viewBox=%220 0 33.389 22.857%22%3E %3Cpath fill=%22%234b380d%22 d=%22M0 0h25.922l7.467 11.43-7.468 11.428H0V0z%22/%3E %3Cpath fill=%22%23999%22 d=%22M17.98 4.357c-4.06 0-7.374 3.316-7.374 7.375 0 4.06 3.315 7.375 7.375 7.375 4.06 0 7.376-3.316 7.376-7.375 0-4.06-3.316-7.375-7.375-7.375zm0 1.768c3.105 0 5.608 2.504 5.608 5.607s-2.504 5.607-5.607 5.607c-3.102 0-5.606-2.505-5.606-5.608 0-3.103 2.504-5.607 5.607-5.607z%22/%3E %3Cpath fill=%22%23999%22 d=%22M17.19 7.223v5.761h3.427v-1.21H18.4V7.223h-1.21z%22/%3E %3C/svg%3E");
}
.tux-workflow-status-selector li.selected {
background-image: linear-gradient(transparent, transparent),
url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2215%22 height=%2215%22 viewBox=%220 0 15 15%22%3E %3Cpath fill=%22%23999%22 d=%22M10.765 1.078l-5.188 8.938-2.03-1.5L1.95 10.64l3.25 2.407 1.188.875.75-1.28 5.906-10.25-2.28-1.314z%22/%3E %3C/svg%3E");
color: var(--gray-a) !important;
}
.grid .tux-message-editor .close {
filter: invert(1) brightness(80%);
}
.tux-grouplist__item__icon {
filter: invert(1) brightness(180%);
}
.tux-groupselector {
border: 1px solid var(--gray-5);
background-color: var(--gray-28);
box-shadow: 0 5px 10px rgba(200, 200, 200, .2);
}
.tux-grouplist {
background-color: var(--gray-18);
}
.tux-grouplist__item {
border-color: var(--gray-5);
}
.tux-grouplist__item:hover {
background-color: var(--gray-2_75);
}
.tux-grouptab--selected {
border-bottom: 2px solid var(--base-color);
}
.ext-translate-language-selector .uls::after {
border-top: 4px solid var(--base-color);
}
.tux-groupselector::after {
border-bottom: 6px solid var(--gray-28);
}
.tux-groupselector::before {
border-bottom: 7px solid var(--gray-5);
}
.tux-action-bar .translate-mode-button::before {
background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='25' height='15' viewBox='0 0 25 15'><path fill='%23eee' d='M5.954 1.63h13.092V4.3H5.954zM5.954 6.166h13.092v2.668H5.954zM5.954 10.7h13.092v2.67H5.954z'/></svg>");
}
.tux-action-bar .page-mode-button::before {
background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='25' height='15' viewBox='0 0 25 15'><g fill='%23eee'><path d='M5.97 1.625v2.688h5.655V1.624H5.97zm7.405 0v2.688h5.656V1.624h-5.655zM5.97 6.156v2.688h5.655V6.156H5.97zm7.405 0v2.688h5.656V6.156h-5.655zM5.97 10.688v2.687h5.655v-2.688H5.97zm7.405 0v2.687h5.656v-2.688h-5.655z'/></g></svg>");
}
.tux-list-edit a, .message-desc-edit {
background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'><path d='M9.825 1.975l-6.218 8.888h-.015l-.19 2.164 1.977-.92 6.217-8.89-1.772-1.244z' fill='rgb(/*[[base-color-rgb]]*/)'/></svg>");
}
.tux-status-fuzzy {
background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%3E%3Cpath%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23999%22%20d%3D%22M7.5.125C3.44.125.125%203.44.125%207.5c0%204.06%203.316%207.375%207.375%207.375%204.06%200%207.375-3.316%207.375-7.375C14.875%203.44%2011.56.125%207.5.125zm0%201.768c3.104%200%205.607%202.504%205.607%205.607s-2.504%205.607-5.607%205.607S1.893%2010.604%201.893%207.5%204.396%201.893%207.5%201.893z%22%2F%3E%3Cpath%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23999%22%20d%3D%22M6.708%202.99v5.763h3.428v-1.21H7.918V2.99h-1.21z%22%2F%3E%3C%2Fsvg%3E");
}
.tux-loading-indicator {
background-image: linear-gradient(transparent, transparent),
url("data:image/svg+xml,<?xml version='1.0' standalone='no'?><svg version='1.0' xmlns='http://www.w3.org/2000/svg' width='34px' height='34px' viewBox='0 0 34.000000 34.000000' preserveAspectRatio='xMidYMid meet'><g transform='translate(0.000000,34.000000) scale(0.100000,-0.100000)' fill='rgb(/*[[base-color-rgb]]*/)' stroke='none'><path d='M285 103 c-16 -29 -32 -43 -75 -60 -48 -19 -51 -22 -25 -23 39 0 90 32 115 72 21 35 25 48 13 48 -5 0 -17 -17 -28 -37z'/></g></svg>");
}
.tux-dropdown-menu .unchangeable, .tux-message-editor .shortcutinfo,
.grid .tux-message-editor .messagekey, .tux-message-selector label {
color: var(--gray-a);
}
.tm-suggestion, .in-other-language {
border: 1px solid var(--gray-5);
border-left: 2px solid var(--base-color);
background-color: var(--gray-28);
}
.ext-translate-container .tux-messagelist .tux-message-pagemode .tux-message-item-compact:hover,
.ext-translate-container .tux-messagelist .tux-message-pagemode,
.tux-message-item:hover, .tux-messagetable-header.floating {
background: var(--gray-28);
}
.tux-textarea-translation,
.tux-messagelist .tux-message-pagemode .tux-pagemode-source,
.tux-list-translation, .infocolumn .loading {
color: var(--gray-a);
}
.tux-action-bar, .tux-message-item.translated,
.tux-message-item.translated:hover, .tux-message-item.proofread,
.tux-message-item.proofread:hover {
background: var(--gray-18);
}
.tux-messagetable-loader {
background: var(--gray-18);
color: var(--gray-a);
}
.tux-action-bar button {
background-color: var(--gray-3);
background-image: linear-gradient(var(--gray-3), var(--gray-4));
border-color: var(--gray-5);
color: var(--gray-a);
}
.tux-action-bar button:hover {
background-color: var(--gray-3);
background-image: linear-gradient(var(--gray-4), var(--gray-5));
}
.tux-notice, .group-warning {
background-color: var(--brown-3);
}
.tux-statsbar {
background-color: var(--gray-5);
}
.tux-statsbar .tux-translated {
background-color: var(--base-color);
}
.tux-message-selector li.selected, .ve-ui-specialCharacterPage-character:hover {
border-color: var(--base-color);
}
.tux-action-bar.floating {
border-color: var(--gray-5);
}
.tux-messagetable-header {
border-color: var(--gray-3);
}
th[style*="background:#fff; border-bottom:1px solid #aaa; padding:6px; color:#244C85;"] {
background: var(--gray-2) !important;
border-color: var(--gray-5) !important;
color: var(--base-color) !important;
}
h2[style*="border:1px solid #AAAAAA; background-color:#F0F0F0;"],
div[style*="background-color:#F5F5F5; font-size:100%; padding: 0.5em; border-bottom-style: solid;"],
div[style*="border: solid #CCC; border-width: 1px 1px 0; background: #CCC; color: black;"],
div[style*="background:#444444;"], div[style*="background: #f7f7f7;"] {
background: var(--gray-3) !important;
border-color: var(--gray-5) !important;
}
div[style*="border:1px solid #AAAAAA; border-top:0px solid #FFFFFF; background-color:#FFFFFF;"],
div[style*="border:1px solid #AAAAAA; border-top:0; background-color:#FFFFFF;"],
div[style*="background-color:white;"],
div[style*="background-color: #f9f9f9; border-color: #e9e9e9;"] {
background: var(--gray-2) !important;
border-color: var(--gray-5) !important;
}
div[style*="border:0 solid #CCC; background:#FFF;"],
div[style*="background-color:#ffffff;"],
div[style*="border:1px solid #AAA;background:#FFF"],
span[style*="color:#0C9;background-color:#FFF"] {
background: var(--gray-28) !important;
}
div[style*="background-color:#FCFBFF;"],
div[style*="background:#FFFFFF; border-style:solid; border-width:1px; border-color:#000000;"],
div[style*="background-color:#ccc;"], div[style*="background: #FFF"] {
background: var(--gray-2) !important;
}
div[style*="background: #FFF"] {
background: var(--gray-18) !important;
}
th[style*="background:linear-gradient(to top right,#eaecf0 49.5%,#aaa 49.5%,#aaa 50.5%,#eaecf0 50.5%)"] {
background: var(--gray-3) !important;
}
.messagebox {
background: var(--gray-2);
border-color: var(--gray-5) !important;
}
table.prettytable > tr > th, table.prettytable > * > tr > th {
background-color: var(--gray-18);
border: 1px solid var(--blue-4);
}
table.prettytable > tr > td:nth-child(1),
table.prettytable > * > tr > td:nth-child(1), table.prettytable > tr > td,
table.prettytable > * > tr > td {
border-color: var(--blue-4);
}
/* Blue */
.mw-parser-output .MainPage__column--right {
border: 1px solid var(--blue-4);
background: var(--blue-2);
}
th[style*="background: #E0FFFF"],
.mw-parser-output .current-events-heading {
background: var(--blue-2) !important;
}
div[style*="background-color: #BBDDFF; border: #4169E1 1px solid"] {
background-color: var(--blue-2) !important;
border: var(--blue-4) 1px solid !important;
}
.lang-quote {
border-bottom: 1px dotted var(--gray-c);
color: var(--base-color);
}
span[style*="color: #0000CD"] {
color: var(--base-color) !important;
}
.mp_header {
background-color: var(--blue-2);
border-color: var(--gray-4) !important;
}
table[style="width:100%; clear:both; background-color:#F0F8FF; border:1px solid #ccc;"],
div[style*="background:#F0F8FF;"],
.mw-parser-output .p-current-events-news-browser {
background: var(--blue-2) !important;
border-color: var(--gray-5) !important;
}
div[style*="border-left: 1em solid #3366bb;"] {
border-left: 1em solid var(--blue-4) !important;
}
table.xambox-type-notice {
border-left: 1em solid var(--blue-1) !important;
}
.rt-target {
background-color: var(--blue-2);
}
div[style*="background"]:not([style*="order"]):not(.boilerplate):not([style*="#FFE"]):not([style*="#fff"]) h2:not([style]):not(#Before_you_post):not(#Post_a_new_question),
div[style*="background"]:not([style*="order"]):not(.boilerplate):not([style*="#FFE"]):not([style*="#fff"]) h2:not([style]):not(#Before_you_post):not(#Post_a_new_question) *,
tr[style*="background-color:tan" i], div[style*="background: #444444"],
div[style*="background: #444444"] *, ol.references li:target,
sup.reference:target, span.citation:target, ol.references li:target *,
sup.reference:target *, span.citation:target *,
td[style*="background:#CEDFF2" i], tr[bgcolor="#CEDFF2" i],
table[style*="background-color:#cef2e0" i] *,
div[style*="background-color: #cee0f2" i],
div[style*="background-color: #cedff2" i], div[role="region"] h2,
tr[style*="background-color: #cedff2" i], td[bgcolor*="#f0f0ff" i],
tr[style*="background-color:#E1E9F3" i], th[style*="background:#d1dbdf" i],
td[style*="background:#e6f2ff" i], td[style*="background:#F5FAFF" i],
table[style*="background:#f5faff"],
table[style*="background-color:rgba(0,0,255,0.1)"],
div[style*="background-color: #eaf3ff"], td[style="background-color: #eaf3ff"],
div[style*="background-color:#DDE"], td[style*="background:SkyBlue"],
div[style*="background:#fafcfe" i], div[style*="background-color: #c6dbf7"] {
background-color: var(--blue-2) !important;
}
td[style*="background-color: #CFF"], div[style*="background-color:#7fbfff"] {
background: var(--blue-4) !important;
}
.vertical-navbox th[style*="background:#cee0f2;"],
div[style*="background-color:#c8d8FF;"], td[style*="background: #3366FF;"],
td[style="background-color: #e2ebfc"],
.vertical-navbox th[style*="background:#e5eef8;"],
th[style*="background: #cfe3ff;"], h2[style*="background-color: #d1e4ff;"],
div[style*="background-color: #adf"], td[style*="background-color:#cddeff;"],
td[style*="background-color:#B0C4DE;"], div[style*="background: #bce1ff;"],
td[style="background: #ABCDEF;"], th[style="background: #ABCDEF;"],
td[style*="background:#ccf"] {
background: var(--blue-3) !important;
}
div[style="background:#bff9fc; margin:0 auto; padding:0 10px 0 10px; border:1px solid #AAAAAA;"] {
background: var(--blue-3) !important;
border-color: var(--gray-4) !important;
}
.mw-parser-output .taxontree-lcell, .mw-parser-output .wikidatainfobox-lcell {
background-color: var(--blue-3);
}
div[style*="border:1px solid #a7d7f9;"], div[style*="border:navy solid"],
table[style*="border: #3366FF solid 1px"],
div[style*="border:1px solid #36A;"],
span[style*="border-bottom:0.3em solid #2a4b8d;"],
div[style*="border: solid medium #ADD8E6"],
table.messagebox[style*="border: 2px solid blue"] {
border-color: var(--blue-4) !important;
}
div[style*="border: solid #7DC2F5; border-width: 1px 1px 0; background: #7DC2F5;"] {
background-color: var(--blue-4) !important;
border-color: var(--blue-4) !important;
}
td[style*="color: #000000; background-color: #f8f8ff"],
div[style*="border:1px solid #ADF;background:#EEF;"],
th[style*="border: 1px dashed blue; background: #eef;"],
div[style="background-color: #EDEAFF; padding: 0px 10px 0px 10px; border: 1px solid #8779DD;"],
div[style*="background-color:#cee0f2" i] {
background-color: var(--blue-2) !important;
border-color: var(--blue-4) !important;
}
table[style*="border:2px solid #48d;background:#fbfcff;color:#222;"] {
border-color: var(--blue-4) !important;
background-color: var(--gray-2) !important;
}
div[style*="background-color: #F0F8FF; color: #000; padding: 0.3em 0; border: 2px solid #ccc; border-bottom: 2px solid #ccc;"],
div[style*="border:2px solid #90C0FF; background:#F0F0FF"] {
background: var(--blue-2) !important;
border-color: var(--blue-4) !important;
}
div[style*="border-bottom:1px solid #abd5f5; background-color:#d0e5f5;"] {
background: var(--blue-4) !important;
border-bottom-color: var(--blue-1) !important;
}
div[style*="border-bottom:1px solid #abd5f5;"] {
border-bottom-color: var(--blue-1) !important;
}
div[style*="border-bottom:2px solid #FFFFFF; padding:0.1em; background-color:#E6FFF2;"],
div[style*="border-bottom: 1px solid #abd5f5; background-color: #d0e5f5;"] {
background: var(--blue-3) !important;
border-bottom-color: var(--blue-3) !important;
}
div[style*="border-right:1px solid #FFFFFF; padding:0.1em; background-color:#F5FFFA"],
td[style*="border: 1px solid #abd5f5; background-color: #f1f5fc;"] {
background: var(--blue-2) !important;
border-color: var(--blue-2) !important;
}
td[style*="border:1px solid #abd5f5; background-color:#f1f5fc;"] {
background: var(--blue-2) !important;
border-color: var(--blue-1) !important;
}
div[style*="background-color:#f5faff;"],
td[style*="border:1px solid #A3B1BF; background-color:#eaf3ff;"],
td[style*="border:1px solid #A3B1BF; background-color:#E6F2FF"] {
background-color: var(--blue-3) !important;
border-color: var(--blue-4) !important;
}
div[style*="background: #3366FF"], div[style*="background:#2a4b8d;"] {
background: var(--blue-4) !important;
}
div[style*="border:1px solid #cedff2;"],
.infobox tr[style="background-color:#cedff2"],
div.plainlinks[style*="background-color:#cedff2;"] {
border-color: var(--blue-4) !important;
}
th[style="color:white;background:blue"],
caption[style="color:white;background:blue"] {
background: var(--blue-3) !important;
color: var(--gray-d) !important;
}
a > b > span[style*="background:#00CCFF"] {
background: var(--blue-4) !important;
color: var(--gray-d) !important;
}
table[style*="background:#F5FAFF"], div[style*="background-color:#f8f9fa"],
table[style*="background-color:#f5faff;border:1px solid #cedff2"],
.infobox[style*="background-color:#f5faff;border:1px solid #cedff2"],
div[style*="border:1px solid #cedff2; padding:0.7em 0.5em; background-color: #f8f9fa"],
div[style*="border:2px solid #cedff2; background-color:#f5faff"],
div[style*="border:1px solid #A3B1BF; padding:5px; background-color:#F5FAFF"],
div[style*="background-color: #f5faff"] {
background: var(--blue-2) !important;
border-color: var(--blue-4) !important;
}
div[style*="border-bottom:1px solid #A3B1BF;"] {
border-bottom: 1px solid var(--blue-1) !important;
background: var(--blue-3) !important;
}
div[style*="background:#CEE0F2"] {
border-bottom: 1px solid var(--blue-4) !important;
}
div[style*="background-color:#cedff2;"],
table tr[style*="background-color:#cedff2"] {
background-color: var(--blue-3) !important;
}
div[style*="border-bottom:0px solid #A3B1BF"] {
background: var(--blue-2) !important;
border-color: var(--blue-4) !important;
color: var(--gray-9a) !important;
}
div[style*="background: #e7eff5; border: 1px solid #a1cef5;"],
div[style*="border:1px solid #C8D0DC;background:#E8F1FF"] {
background: var(--blue-2) !important;
border-color: var(--blue-4) !important;
}
.sharedUploadNotice {
background-color: var(--blue-2);
border-color: var(--blue-4);
}
div.mw-collapsible-content[style*="background-color: #f5faff;"],
div[style*="border:1px solid #cedff2;"] div[style*="background-color: #f5faff;"],
td[style="background:#d7e8f9;"] {
background-color: var(--blue-3) !important;
}
td[style="background-color: #c1ccf2"], td[style="background-color: #b8c4ef"] {
background: var(--blue-4) !important;
color: var(--gray-a);
}
tr[bgcolor*="#E1E9F3" i], .infobox th[style*="background-color:#C3D6EF;"] {
background-color: var(--blue-3) !important;
}
div[style*="border: 1px dashed blue;"] {
border-color: var(--blue-1) !important;
}
td[style*="border-bottom:1px #B8C7D9 solid;"] {
background: var(--blue-3) !important;
border-bottom: 1px solid var(--blue-1) !important;
}
div[style*="border:1px solid #B8C7D9; background-color:#E6F2FF;"] {
background: var(--blue-3) !important;
border: 1px solid var(--blue-1) !important;
}
table[style*="border:1px solid #B8C7D9;"] {
border: 1px solid var(--blue-1) !important;
}
table[style*="border-color: lightblue;"] {
border-color: var(--blue-4) !important;
}
/* Purple */
table[style*="background-color:#f7f8ff; border:2px solid #8888aa;"] {
background: var(--blue-2) !important;
border-color: var(--purple-1) !important;
}
th.navbox-title[style*="background:#3C3B6E"] {
background: var(--purple-0) !important;
}
th.navbox-title[style*="border:1px double #8C959A;"] {
border-color: var(--purple-0) !important;
}
div[style*="border-right:1px solid #FFFFFF; padding:0.1em; background-color:#FAF5FF"],
div[style*="border: 1px #AAA solid; background: #BBF"] {
background: var(--purple-d) !important;
border-color: var(--purple-d) !important;
}
.navbox-subgroup .navbox-title, .navbox-subgroup .navbox-title *,
td[style*="background-color:#ccccff;"],
li[style*="border:1px solid #CCF; background-color:#F0EEFF"] {
background: var(--purple-1) !important;
border-color: var(--purple-1) !important;
}
.navbox-title, .navbox-title *, table.navbox th, .navbox th {
background: var(--purple-0) !important;
border-color: var(--gray-2) !important;
color: var(--gray-c) !important;
}
div[style="background-color: #E3D2FB; margin: 2em 0 0 0; padding: 0 10px 0 10px; border: 1px solid #AAAAAA;"],
td[style*="border-bottom:1px solid gray; background-color:#eeeeff;"] {
background: var(--purple-0) !important;
border-color: var(--gray-4) !important;
}
td[style*="background: #DDF;"], td[style*="background-color:#eeeeff;"] {
background: var(--purple-0) !important;
}
tr[style="background-color: #ccccff;"] {
background: var(--purple-2) !important;
}
.fileinfo-paramfield {
background: var(--purple-1);
}
th.navbox-group, th.navbox-group * {
background: var(--purple-d) !important;
}
td[style="background-color: #c9d4f5"], td[style="background-color: #d2dbf7"],
td[style="background-color: #b1bced"], td[style*="background: #ccf"],
.navbox-abovebelow:not([style*="background:white"]),
.navbox-abovebelow:not([style*="background:white"]) *,
div[style*="background:#ddddff" i], div[style*="background:#ddf"] {
background: var(--purple-1) !important;
}
td[style="background-color: #a8b4ea"] {
background: var(--purple-2) !important;
color: var(--gray-c);
}
tr[style="background-color: #ccccff;"] th {
color: var(--gray-d) !important;
}
table[style*="border:2px solid #93c;color:#222;"] {
border-color: var(--purple-2) !important;
}
td[style*="border-bottom:2px solid gray; background-color:#ddddff;"] {
background: var(--purple-1) !important;
border-bottom: 2px solid var(--gray-4) !important;
}
figure[typeof~="mw:Image/Thumb"], figure[typeof~="mw:Video/Thumb"],
figure[typeof~="mw:Audio/Thumb"], figure[typeof~="mw:Image/Frame"],
figure[typeof~="mw:Video/Frame"], figure[typeof~="mw:Audio/Frame"] {
border: 1px solid var(--gray-5);
background-color: var(--gray-8);
}
figure[typeof~="mw:Image/Thumb"] > :first-child > img,
figure[typeof~="mw:Video/Thumb"] > :first-child > img,
figure[typeof~="mw:Audio/Thumb"] > :first-child > img,
figure[typeof~="mw:Image/Frame"] > :first-child > img,
figure[typeof~="mw:Video/Frame"] > :first-child > img,
figure[typeof~="mw:Audio/Frame"] > :first-child > img,
figure[typeof~="mw:Image/Thumb"] > :first-child > video,
figure[typeof~="mw:Video/Thumb"] > :first-child > video,
figure[typeof~="mw:Audio/Thumb"] > :first-child > video,
figure[typeof~="mw:Image/Frame"] > :first-child > video,
figure[typeof~="mw:Video/Frame"] > :first-child > video,
figure[typeof~="mw:Audio/Frame"] > :first-child > video,
.mw-parser-output .mod-gallery .bordered-images .thumb img {
border-color: var(--gray-5);
}
.mw-parser-output .mod-gallery .whitebg .gallerybox,
.mw-parser-output .mod-gallery .whitebg .thumb {
background: var(--gray-2) !important;
}
table[style*="background:#f7f8ff; border:2px solid #88A;"],
td[style*="border: 1px solid #cfcfbf; background-color: #f0f0ff;"] {
background: var(--purple-d) !important;
border-color: var(--purple-1) !important;
}
td[style="border-bottom:1px solid gray; background-color:#eeeeff;"],
table[style*="background:#f7f8ff;text-align:left;border:solid 1px #aaaaaa"] {
background: var(--purple-d) !important;
border-color: var(--gray-5) !important;
}
div[style*="border-bottom:2px solid #FFFFFF; padding:0.1em; background-color:#F2E6FF;"] {
background: var(--purple-1) !important;
border-color: var(--purple-1) !important;
}
div[style="background-color: #edeaff; padding: 0px 10px 0px 10px; border: 1px solid #8779DD;"],
div[style*="border: solid 2px #A0A0FF; background-color: #E0E0FF;"] {
background: var(--purple-d) !important;
border-color: var(--purple-2) !important;
}
div[style*="background-color:#E2E7FF; border:1px solid blue; text-align:left; color:#082840"] {
background: var(--purple-d) !important;
border-color: var(--purple-2) !important;
color: var(--gray-9a) !important;
}
body #mw-content-text div.boilerplate[style*="background-color: #edeaff"] h2,
div.boilerplate[style*="background-color: #edeaff"] h2 *,
td[style="background-color:#eeeeff"], td[style="background-color: #9fade8"] {
background-color: var(--purple-d) !important;
}
div[style*="border:1px solid #ADF;background:#FFF;"] {
background: var(--gray-18) !important;
border-color: var(--purple-2) !important;
}
th[style*="background:lavender" i], td[style*="background:lavender" i],
th[style*="background:#edf" i], td.import-high[style*="background: #ffacff"],
div[style*="background:#CCF;padding"], td[style*="background:#fcf"],
div[style*="background-color: lavender"] {
background-color: var(--purple-1) !important;
}
div[style*="background:#faf5ff;"] {
background-color: var(--purple-d) !important;
}
span[style*="color: purple"] {
color: var(--purple-2) !important;
}
span[style="background-color:#EEF; color:#000"] {
background-color: var(--purple-d) !important;
color: var(--gray-e) !important;
}
span[style="background-color:#FEF; color:#000"] {
background-color: var(--purple-0) !important;
color: var(--gray-e) !important;
}
/* Brown */
.mw-notification.mw-notification-type-warn {
border-color: var(--brown-2);
background-color: var(--brown-3);
}
div[style*="background:#ffe496" i], div[style*="background-color:#ffffec"] {
background-color: var(--brown-3) !important;
}
th[style*="background:#F5F5DC" i] {
background-color: var(--brown-3) !important;
}
span[style*="background:moccasin" i] {
background-color: var(--brown-2) !important;
}
div[style*="background-color: #FFE" i] div h2 span#Add_your_project {
background-color: var(--brown-3);
}
.mw-parser-output #mp-banner {
background-color: var(--brown-1);
border-color: var(--brown-2);
}
.mw-parser-output .nmbox-header, .mw-parser-output .nmbox {
background-color: var(--brown-3);
border-color: var(--brown-2);
}
tr[style="background: #EEF3E2"], td[style="background: #EFE"] {
background-color: var(--brown-3) !important;
}
.flaggedrevs-pending {
background-color: var(--brown-2);
}
.flaggedrevs-unreviewed {
background-color: var(--brown-1);
}
.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button {
background-color: var(--gray-2);
color: var(--gray-c);
border-color: var(--gray-5);
}
#btn_opisy_zm_waxon_off, tr[style="background-color:#FFFFAA" i],
div[style*="background:#FFF4B8;border:1px solid #AAA" i],
table[style*="border:1px solid #A9A9A9; background-color:#FFEFD5;" i],
div[style*="background-color: #FFE" i], .messagebox.standard-talk {
background-color: var(--brown-3) !important;
border-color: var(--brown-2) !important;
}
p[style*="background-color: yellow; border: .3em dashed black;"] {
background: var(--brown-4) !important;
border: .3em dashed var(--gray-1) !important;
}
td[style="background-color: #FEF8C6" i] {
background: var(--brown-4) !important;
color: var(--gray-c);
}
span[style*="border-left: 1.2em solid #FEF8C6" i] {
border-left: 1.2em solid var(--brown-4) !important;
}
span[style*="border:1px solid #AAAAAA; padding:1px .6em; background-color:#fef8c6" i] {
background-color: var(--brown-4) !important;
border: 1px solid var(--brown-4) !important;
}
th[style*="background:#fef8c6;"][colspan="4"] {
background: var(--brown-4) !important;
}
td[style*="background: #e8dbae" i],
span[style*="font-size:115%;background:#FFA" i] {
background: var(--brown-1) !important;
}
td[style="background-color: #fc3"] {
background-color: var(--brown-2) !important;
color: var(--gray-a);
}
.authortemplate {
background-color: var(--brown-4);
border-color: var(--brown-4);
}
.processheadertemplate {
background-color: var(--brown-4);
border: 1px solid var(--brown-4);
}
div[style*="background-color: #FFFFCC; border: 1px solid #FFCC00;"] {
background-color: var(--brown-4) !important;
border-color: var(--brown-4) !important;
}
div[style*="background:#FFFDDF;"] {
background-color: var(--brown-3) !important;
border-color: var(--brown-2) !important;
}
th[style="background:#ffdead;"] {
background: var(--brown-1) !important;
}
.warningbox, .infobox.standard-talk {
background-color: var(--brown-3);
border-color: var(--brown-2);
}
td[style*="background:#fffaef; border:1px dotted gray;"],
table[style="background-color: #F8EABA; border-color: #C0C090"] {
background-color: var(--brown-1) !important;
border-color: var(--brown-2) !important;
}
html table.tmbox, .tmbox.tmbox-notice table[style*="background:transparent;"],
td[style*="border: 1px solid #fad67d; background-color: #faf6ed;"] {
background: var(--brown-3) !important;
background-color: var(--brown-3) !important;
border-color: var(--brown-2) !important;
}
.infobox.standard-talk {
border: 1px solid var(--brown-2) !important;
}
tr[style="background: #e8dbae"] th, table.infobox.standard-talk td,
table.tmbox-protection, html table.tmbox-notice:not(#TMPedn),
div[style*="border-bottom: 1px solid #c0c090;"] {
border-color: var(--brown-2) !important;
}
div[style*="border-top: 1px solid #c0c090" i],
td[style*="border-top: 1px solid #c0c090" i] {
border-top-color: var(--brown-2) !important;
}
div[style="background:#FFEEDD; margin-top:0.5em; padding:0 10px 0 10px; border:1px solid #888888;"] {
background-color: var(--brown-4) !important;
border-color: var(--gray-4) !important;
}
div[style*="background: #ffeecc; border: 1px solid #333333;"] {
background-color: var(--brown-1) !important;
border-color: var(--brown-2) !important;
}
table#archivebox.tmbox.tmbox-notice[style*="background-color: transparent;"] {
background-color: var(--brown-3) !important;
}
td.assess-start[style*="background: #FFAA66;"],
a > b[style="background:#FAFAD2;color:#C08000"],
th[style*="background: #fff1d2;"],
th[style*="background-color: rgb(235,235,210)"] {
background: var(--brown-2) !important;
}
.oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning {
background-color: var(--brown-3);
border-color: var(--yellow-1);
}
.table-partial, tr[style*="background:orange" i],
td[style*="background:#ffd" i] {
background-color: var(--brown-1) !important;
}
div[style*="border-bottom: 1px solid #fad67d; background-color: #faecc8;"] {
background-color: var(--brown-2) !important;
border-color: var(--brown-2) !important;
}
div[style*="border-bottom:1px solid #fad67d; background-color:#faecc8;"] {
background-color: var(--brown-2) !important;
border-bottom: 1px solid var(--yellow-1) !important;
}
td[style*="border:1px solid #fad67d; background-color:#faf6ed;"] {
background-color: var(--brown-3) !important;
border-color: var(--yellow-1) !important;
}
th[style*="background-color: #e7c6a5"] {
background-color: var(--brown-2) !important;
}
/* pink */
div[style*="background:#fff5fa;"], th[style*="background:#FFABD5"] {
background-color: var(--pink-0) !important;
}
td[style*="background-color: #FDD"] {
background-color: var(--pink-1) !important;
}
td[style*="background-color: #F9D"] {
background-color: var(--pink-2) !important;
}
div[style="background-color: #fff5f5; margin: 2em 0 0 0; padding: 0 10px 0 10px; border: 1px solid #AAAAAA;"] {
background: var(--pink-0) !important;
border-color: var(--gray-4) !important;
}
td[style*="box-shadow: 0px 5px 5px -6px #ccc;"] {
box-shadow: 0 5px 5px -6px var(--gray-5) !important;
}
.wikiEditor-ui-toolbar .page-characters div span:hover {
background-color: var(--gray-28);
border-color: var(--base-color);
}
.wikiEditor-ui-toolbar .page-characters div span {
color: var(--gray-d);
}
.mw-widget-dateInputWidget-calendar:focus {
box-shadow: inset 0 0 0 1px var(--base-color), 0 2px 2px 0 rgba(0, 0, 0, .25);
}
.mw-widget-calendarWidget-item-selected {
background-color: var(--base-color);
color: var(--gray-d) !important;
}
.mw-widget-calendarWidget-item:hover {
background-color: var(--base-color);
color: var(--gray-e) !important;
}
.mw-widgets-datetime-calendarWidget, .mw-widget-dateInputWidget-calendar {
background-color: var(--gray-18);
border-color: var(--gray-4);
}
.mw-widget-calendarWidget-day-today {
box-shadow: inset 0 0 0 1px var(--base-color);
}
.mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive,
.mw-ui-button.mw-ui-quiet.mw-ui-destructive {
background-color: transparent !important;
color: var(--gray-a) !important;
border-color: transparent !important;
}
/*** Border ***/
/* default in some pages is different like 0, but transparent covers more than one case */
.oo-ui-buttonElement-frameless.oo-ui-iconElement > .oo-ui-buttonElement-button,
.oo-ui-buttonElement-frameless.oo-ui-labelElement > .oo-ui-buttonElement-button,
.navbox-list {
border-color: transparent !important;
}
table.wikitable, button.formBtn {
border: 1px solid var(--gray-5) !important;
}
fieldset,
button[type="submit"]:not(.pure-button-primary-progressive):not(.formBtn),
.oo-ui-buttonElement-button:focus:not(:active) {
border-color: var(--base-color) !important;
}
.mw-widget-calendarWidget:focus {
border-color: var(--base-color);
box-shadow: inset 0 0 0 1px var(--base-color);
}
.uls-ime-menu-settings-item {
border-color: var(--gray-5);
color: var(--gray-9a);
}
/* TODO: Sigh! remove these :nots and the div/span etc from here and def not !imporant */
h2:not([class*="MainPage__heading-"]):not([style*="#cef2e0;"]):not([style*="#cedff2;"]):not([style*="#afa3bf;"]):not([style*="#F0F0F0"]),
tr:not([style*="border-bottom"]):not(:hover):not([style*="background: #eaecf0;"]):not([style*="#ccccff"]):not([style*="#cedff2"]),
table:not(.authortemplate):not(.standard-talk):not([style*="#F6F9ED"]):not([style*="#feeeee"]):not(.hp-portalen):not([style*="background"]):not(.plainlinks):not([style*="#99b2cc"]):not(.processheadertemplate),
div[style*="background-color"]:not([style*="#88A"]):not([style*="#36A"]):not([style*="#ACA"]):not([style*="#edeaff"]):not([style*="border:1px solid ;"]):not([style*="#99b2cc"]),
th, td:not(:hover), h1, h3, h4, h5, h6, ul, li, select, .mw-body, .toc, #toc,
.mw-gallery-traditional li.gallerybox div.thumb, div.thumbinner,
.mw-parser-output .portal, .mw-warning, .navbox, .catlinks, .catlinks li,
table.fmbox, .wikiEditor-ui .wikiEditor-ui-view,
.wikiEditor-ui-toolbar .sections .section,
.wikiEditor-ui-toolbar .group-search, .wikiEditor-ui-toolbar .group,
.wikiEditor-ui-toolbar .group .tool-select,
.wikiEditor-ui-toolbar .group .tool-select .options,
.wikiEditor-ui-toolbar .page-characters div span, .oo-ui-panelLayout-framed,
.mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-buttons,
.mw-ui-feature-header, .mw-ui-feature-discussion-link,
.mw-ui-feature-info-link, .mw-widget-dateInputWidget-handle,
.mw-widget-calendarWidget, .mw-parser-output .module-shortcutboxplain,
.mw-parser-output .module-shortcutlist, .flow-ui-navigationWidget,
.wikitable [data-parsoid], .mw-parser-output .wiki-template-infocard,
div[style*="border:1px solid #A3BFB1 solid;"], .ui-widget-content,
.mw-rcfilters-ui-datePopupWidget, table.ombox-protection,
.mw-parser-output .community-tabs td,
.mw-parser-output .community-page-wrapper, .wikitable > tr > th,
.wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td,
#specialchars, .bookshelf, table.ombox-notice, #content, .suggestions-special,
table.fmbox, .wikibase-statementgrouplistview .wikibase-statementlistview,
.wikibase-statementgroupview .wikibase-statementgroupview-property,
.wikibase-sitelinkgroupview,
.wikibase-sitelinklistview .wikibase-sitelinkview .wikibase-sitelinkview-siteid-container,
.wikibase-entitytermsforlanguagelistview .wikibase-entitytermsforlanguagelistview-header .wikibase-entitytermsforlanguagelistview-header-row .wikibase-entitytermsforlanguagelistview-cell,
.fieldsetlike, .oo-ui-dropdownWidget-handle,
.mw-rcfilters-ui-filterMenuHeaderWidget-header, .oo-ui-menuSelectWidget,
.mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk),
.mw-rcfilters-ui-menuSelectWidget-footer, .collection-maintenance-box,
.collection-maintenance-box, div.navbox-container, .lead_normal,
.recent_interviews, .main_write, .mw-toolbox,
.oo-ui-toolbar-narrow.oo-ui-toolbar-position-top .oo-ui-toolbar-bar::after,
.oo-ui-toolbar-position-top > .oo-ui-toolbar-bar, .oo-ui-toolGroup,
.oo-ui-toolbar-actions .oo-ui-toolGroup,
.oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover,
.oo-ui-popupToolGroup-tools, .oo-ui-toolbar-actions .oo-ui-toolGroup,
.flow-topic-summary-container .flow-topic-summary,
.flow-topic-summary-container .flow-ui-editTopicSummaryWidget,
.mw-content-ltr .flow-post .flow-replies, .wbmi-entityview-captionsPanel,
#filetoc, .wbmi-tabs-container .oo-ui-panelLayout-framed,
.mw-mmv-image-metadata, .mw_metadata td, .mw_metadata th, .vectorMenu .menu,
.oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget,
.infobox:not(.standard-talk), div.flaggedrevs_short,
div.flaggedrevs_short_details, .k-player .control-bar, table.cmbox,
.mw-parser-output div.NavFrame, .infobox.geography .mergedtoprow td,
.infobox.geography .mergedtoprow th, .infobox.geography td,
.infobox.geography th, img.thumbborder, .mw-advancedSearch-fieldContainer,
.oo-ui-tagMultiselectWidget-handle, .imeselector-menu,
.language-settings-buttons, .uls-icon-back, #uls-settings-block,
.mw-advancedSearch-namespace-selection, .mw-advancedSearch-namespace-border,
.wikibase-statementview, .mw-parser-output .quotebox, .ext-uls-sub-panel,
.rt-tooltip, .uls-ime-more-settings-link,
.oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame,
.client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed),
.mw-rcfilters-ui-watchlistTopSectionWidget-separator,
.mw-revslider-slider-wrapper, .mw-revslider-container, .otherprojects,
.infobox.bordered td, .infobox.bordered th,
.mw-parser-output .covid-sticky th::before,
.mw-parser-output .covid-sticky th::after,
.mw-mmv-permission-box.full-size .mw-mmv-permission-html,
.oo-ui-bookletLayout > .oo-ui-menuLayout-menu,
.oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above,
.ve-ui-specialCharacterPage-character, .mw-echo-ui-notificationItemWidget,
.mw-parser-output .commonscat, .infobox_v2,
.mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head,
.mw-echo-ui-notificationItemWidget:last-child {
border-color: var(--gray-5);
}
body[class*="skin-"] .mw-parser-output table.ambox {
border: 1px solid var(--gray-5);
}
body[class*="skin-"] .mw-parser-output table.ambox {
border-left: 10px solid var(--orange-2);
}
table.ambox-protection {
border-left: 10px solid var(--gray-7) !important;
}
table.sidebar.vertical-navbox.nomobile {
background-color: var(--gray-2);
}
/* these are OK to be !important soon as a not is needed remove the offending one instead and fix fallback */
#talkheader td, .infobox tr[style*="background-color"]:not([style*="#cedff2"]),
.mw-body-content code, .lang-list-button:hover, .oo-ui-buttonElement-button,
#mwe-popups-settings, #mwe-popups-settings header, html .thumbimage,
div[style*="border:1px solid #e2e2e2;" i],
div[style*="border:1px solid #aaa;" i], div[style*="border:1px solid #CCC;" i],
h2[style*="border:1px solid #ddd;" i],
div[style*="border-bottom: 1px solid #CCC" i],
.wikiEditor-ui .wikiEditor-ui-top, .mw-advancedSearch-fieldContainer fieldset,
.editOptions, div#editpage-specialchars,
.nmbox[style*="border: 1px solid #a2a9b1;" i],
div[style*="border:solid #aaa 1px" i],
table[style*="border:1px solid #aaa;" i],
table[style*="border:1px solid #AAA;" i],
table[style*="border: 1px solid Silver;" i],
table[style*="border: 1px solid #ccc;" i],
table[style*="border: 1px solid #cccccc;" i],
div[style*="border-top:3px double #CCC;" i],
table[style*="border: 1px solid #808080;" i],
td[style*="border-bottom:1px solid #aaa;" i],
.vertical-navbox td[style*="border-bottom:1px solid;" i],
div[style*="border: 1px solid #aaa;" i],
td[style*="border: 1px solid #aaa;" i],
div[style*="border-bottom: #AAAAAA 1px solid;" i],
div[style*="border: #AAAAAA 1px solid;" i],
td[style*="border-left:1px solid #aaa;" i],
div[style*="border:1px solid #e9e9e9;" i],
th[style*="border-top: 1pt lightgrey solid;" i],
td[style="border-top: 1pt lightgrey solid" i],
div[style*="border: 1px solid rgb(170, 170, 170);" i],
div[style*="border-color:#aaaaaa" i],
td[style*="border-right: 1px solid #c9c9c9;" i],
td[style*="border: 1px solid #cfcfbf" i],
table[style*="border: 1px groove gray;" i],
table[style*="border:1px solid #999999" i],
div[style*="; border:1px solid ;" i],
div[style*="border:solid #aaaaaa 1px;" i],
table[style*="border:solid 1px #A8A8A8" i],
td[style*="border: 1px solid #FFFFFF" i],
th[style="border-right: 1px solid #ccccff;" i],
table[style*="border: 1px solid gray;" i],
div[style*="border:1px solid #AAA;" i],
div[style*="border:1px solid #BDBDBD;" i],
div[style*="border:2px solid #ddd;" i],
table[style*="border:1px solid #bbb;" i],
ul[style*="border:1px solid #AAA;" i],
div[style*="border:1px solid #aaaaaa;" i],
div[style*="border-bottom:1px solid #A0A0A0;" i],
table[style*="border:solid #AAA 1px;" i],
div[style*="border-bottom:1px solid #88A;" i],
div[style*="border: 1px solid #999;" i],
table[style*="border: 2px solid black;" i],
th[style*="border:1px solid #AAA;" i], td[style*="border: 1px solid #AAA;" i],
div[style*="border:1px solid #a2a9b1;" i],
span[style*="border-bottom:0.3em solid #c8ccd1;" i],
caption[style*="border-bottom:1px solid #AAA" i],
table[style*="border:1px solid grey;" i],
div[style*="border:1px solid gray;" i],
div[style*="border-top:1px solid #AAA;" i],
td[style*="border-top:1px solid #AAA;" i],
th[style*="border:1px solid #aaa;" i],
table[style*="border: 1px solid #AAA;" i],
div[style*="border:1px solid #ccc;" i],
div[style*="border-bottom: 1px solid #aaa;" i],
table[style*="border:1px solid #ccc;" i],
td[style*="border:1px solid #ccc;" i],
table[style*="border-top:5px #ccc solid; border-bottom:5px #ccc solid;" i],
th[style*="border: 1px solid #aaa;" i],
table[style*="border-top: 1px solid #aaa; border-bottom: 1px solid #aaa;" i],
table[style*="border-color:#aaaaaa;" i],
td[style*="border-bottom:1px solid #aaaaaa;" i],
div[style*="border-bottom: 1px solid #AAAAAA;" i],
td[style*="border:1px dashed #DDD" i], div[style*="border:solid #aaa 1px" i],
div[style*="border-top:1px solid #DDD;" i],
div[style*="border-top:1px solid #CCC;" i],
div[style*="border-top: 1px solid #bebebe;" i],
div[style*="border-bottom:1px solid #aaa" i],
td[style*="border-top: 1px solid #aaa;" i],
td[style*="border-top:1px solid grey;" i],
table[style*="border: 1px solid #CCC;" i],
div[style*="border:2px #cccccc solid;" i],
div[style*="border-bottom: 1px solid #bebebe;" i], .search-form fieldset,
.uls-search, .uls-menu, .mw-datatable td, .mw-datatable th,
table[style*="border:1px solid #ddd;" i],
div[style*="border:1px solid #999;" i],
span[style*="border-top: 1px solid #C0C0C0; border-bottom: 1px solid #C0C0C0;" i],
table[style*="border:2px solid #e0e0e0" i], tr.expand-child .description,
div[style*="border:solid #aaaaaa" i],
td[style*="border-bottom: 1px solid #ccc" i],
th[style*="border:1px double #8C959A;" i],
ul[style*="border-top: 1px solid rgb(170, 170, 170)" i],
div[style*="border:1px solid #a3b0bf" i], .tux-action-bar button,
div[style*="border: 1px solid #ccc" i],
td[style*="border-right: 1px solid #aaa;border-bottom: 1px solid #aaa"],
td[style*="border-bottom: 1px solid #aaa" i],
td[style*="border-left:solid 2px #AAA;border-right:solid 1px #AAA"],
div[style*="border: 2px solid #ccc" i],
th[style*="border-top: 1px solid #BBB" i],
table[style*="border:1px solid lightgrey" i],
table[style*="border: 1px solid #aaa" i] {
border-color: var(--gray-5) !important;
}
div[style*="border:1px #FFFFFF" i], td[style*="border-right:solid 2px #AAA" i],
td[style*="border-right:solid 1px #AAA" i] {
border-color: var(--gray-4) !important;
}
th[style*="border-right:solid 2px #AAA" i] {
border-right-color: var(--gray-5) !important;
}
.rootpage-Wikipedia_Community_portal div[style*="border:1px #FFFFFF solid" i] {
border-color: transparent !important;
}
/* stop hovering effects on tr/td borders
https://species.wikimedia.org/wiki/Wikispecies:Templates#Link_Templates */
tr:hover,
td:not(.mid-table):not([style*="border:1px solid transparent"]):not(.navbox-abovebelow):not(.navbox-list):not([style]):not(.MainPageBG):hover {
border-color: var(--gray-5) !important;
}
.tux-workflow-status:hover {
border-color: var(--gray-7);
}
td.navbox-abovebelow[style*="border-left:2px solid #fdfdfd"]:not([style*="border-bottom"]),
th[style*="border-right:1px solid #AAA" i] {
border-color: var(--gray-2) !important;
}
td[style*="border-left:2px solid #b32424;" i],
td[style*="border-bottom:2px solid #b32424" i] {
border-color: var(--red-2) !important;
}
table[style*="border:1px solid black;" i],
div[style="width: 80%; border: 1px solid; padding: 10px; margin:0 auto 8px;" i] {
border-color: var(--gray-7) !important;
}
div[style*="border: 1px solid #bebebe; background-color: white;" i] {
background-color: var(--gray-2) !important;
border-color: var(--gray-5) !important;
}
.mw-gallery-traditional li.gallerybox div.thumb {
background-color: var(--gray-18) !important;
}
th[style^="padding:2px; font-size:90%; background-color:#efefef;"] {
background-color: var(--gray-28) !important;
}
.infobox > tbody > tr[style*="background:#eee;"] {
background-color: var(--gray-2) !important;
}
tr.quality0 td {
background-color: var(--gray-28) !important;
}
tr.quality1 td {
background-color: var(--red-3) !important;
}
tr.quality2 td {
background-color: var(--purple-1) !important;
}
tr.quality3 td {
background-color: var(--brown-4) !important;
}
tr.quality4 td {
background-color: var(--green-2) !important;
}
td[style="border-right:solid black 1px;" i] {
border-color: var(--gray-7) !important;
}
.bookshelf {
border-top-color: var(--gray-3);
}
.lang-list-button, .the_table, hr {
border: 1px solid var(--gray-5) !important;
}
hr {
border: 1px inset var(--gray-4) !important;
color: var(--gray-4) !important;
}
table.xambox {
border: 1px solid var(--gray-5);
}
.toccolours {
border-color: var(--gray-5) !important;
background-color: var(--gray-2);
}
.toc, .mw-warning {
border: 1px solid var(--gray-5);
background-color: var(--gray-2);
}
#specialchars button {
background: var(--gray-3) !important;
border-color: var(--gray-5) !important;
color: var(--gray-9a) !important;
}
#specialchars button:hover {
background: var(--gray-2) !important;
border-color: var(--base-color) !important;
color: var(--gray-a) !important;
}
.oo-ui-tagItemWidget.oo-ui-widget-enabled:hover {
border-color: var(--gray-69) !important;
color: var(--gray-e);
}
div[style*="border:1px solid #ddd;" i],
table[style*="border: 1px solid #aaa;" i] {
border: 1px solid var(--gray-5) !important;
}
td[style*="box-shadow: 0px 5px 5px -6px #ccc;" i], td[style*="#ccc;" i] {
box-shadow: 0 5px 5px -7px var(--gray-5) !important;
}
td[style*="box-shadow: 0px 0px 5px #ccc;" i] {
box-shadow: 0 0 5px var(--gray-5) !important;
}
table[style*="box-shadow:0 0 .5em #999" i] {
box-shadow: 0 0 .5em var(--gray-18) !important;
}
#bodyContent .mw-pt-translate-header {
border-bottom-color: var(--gray-5) !important;
}
#mw-editform-cancel > a {
border: 0;
}
.imeselector-menu::before {
border-bottom: 7px solid var(--gray-5);
border-left: 7px solid transparent;
border-right: 7px solid transparent;
}
.imeselector-menu::after {
border-bottom: 6px solid var(--gray-);
border-left: 6px solid transparent;
border-right: 6px solid transparent;
}
div[style*="border-bottom:1px solid #AAA" i], tr[style*="border-bottom" i] {
border-color: var(--gray-5) !important;
}
.ve-ui-mwNoticesPopupTool-items > div:not(:first-child),
.ve-ui-mwHelpPopupTool-item:not(:first-child), .oo-ui-popupWidget-popup,
.ve-ui-citeSourceSelectWidget-separator, .oo-ui-searchWidget-query,
.ve-ui-mwReferenceResultWidget {
border-color: var(--gray-5);
}
.ve-init-mw-progressBarWidget {
background-color: var(--gray-1);
border-color: var(--base-color);
}
.ve-init-mw-progressBarWidget-bar {
background-color: var(--base-color);
}
.cx-callout, .mwe-popups::before, .cx-callout-1::before {
border-bottom-color: var(--gray-7);
}
.mwe-popups.mwe-popups-image-pointer::after {
border-bottom: 12px solid var(--gray-2) !important;
}
.mwe-popups.mwe-popups-image-pointer::before {
border-bottom: 9px solid var(--gray-4) !important;
}
.mwe-popups.mwe-popups-image-pointer.flipped-x::before {
border-bottom-color: var(--gray-5) !important;
}
.mwe-popups.mwe-popups-image-pointer.flipped-x::after {
border-bottom: 12px solid var(--gray-28) !important;
}
.mwe-popups.mwe-popups-no-image-pointer::before,
.mwe-popups.mwe-popups-no-image-pointer::after {
border-bottom-color: var(--gray-5) !important;
}
.mwe-popups.mwe-popups-no-image-pointer::after {
border-bottom-color: var(--gray-2) !important;
}
.mwe-popups.flipped_y::before, .mwe-popups.flipped_x_y::before,
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane,
.mwe-popups.flipped-y::before, .mwe-popups.flipped-x-y::before {
border-top-color: var(--gray-5) !important;
}
.mwe-popups::after, .cx-callout-1::after {
border-bottom-color: var(--gray-2) !important;
}
.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor::after {
border-bottom-color: currentcolor !important;
}
.oo-ui-popupWidget-anchored .oo-ui-popupWidget-anchor::before {
border-top-color: var(--gray-5) !important;
}
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor::after {
border-bottom-color: var(--gray-2) !important;
}
.oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor::before {
border-bottom-color: var(--gray-5) !important;
border-width: 10px !important;
}
.oo-ui-popupWidget {
filter: none !important;
}
.oo-ui-image-progressive.oo-ui-icon-alert,
.mw-ui-icon-alert-progressive::before,
.oo-ui-image-progressive.oo-ui-icon-menu, .mw-ui-icon-menu-progressive::before,
.oo-ui-image-progressive.oo-ui-icon-wikiText,
.oo-ui-image-progressive.oo-ui-icon-eye, .mw-ui-icon-eye-progressive::before,
.oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon,
.oo-ui-image-progressive.oo-ui-icon-specialCharacter,
.mw-ui-icon-specialCharacter-progressive::before,
.oo-ui-image-progressive.oo-ui-icon-help, .mw-ui-icon-help-progressive::before {
filter: grayscale(1) brightness(230%);
}
.mwe-popups.flipped_y::after, .mwe-popups.flipped_x_y::after,
.mwe-popups.flipped-y::after, .mwe-popups.flipped-x-y::after,
.oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor::after {
border-top-color: var(--gray-2) !important;
}
.oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor::before {
border-top-color: var(--gray-4) !important;
}
.mwe-popups, .mwe-popups-is-not-tall, .mwe-popups-is-tall {
border: 1px solid var(--gray-5) !important;
}
.mwe-popups-settings-icon:hover, .mwe-popups-settings-icon:active {
background-color: var(--gray-4) !important;
}
div.vectorTabs li:not(.selected), .oo-ui-popupWidget-anchor::after {
border-bottom-color: var(--gray-5) !important;
}
.referencetooltip > li {
background: var(--gray-2) !important;
border: 1px solid var(--gray-5) !important;
}
button {
border-style: solid !important;
border-width: 1px !important;
}
/* arrow down */
.referencetooltip > li + li, .referencetooltip > li + li::after {
border-top-color: var(--gray-2) !important;
border-right-color: transparent !important;
border-left-color: transparent !important;
}
/* arrow left */
.uls-menu.callout.selector-left::before,
.uls-menu.callout.selector-left::after,
.interlanguage-uls-menu.selector-left::before,
.interlanguage-uls-menu.selector-left::after {
border-right-color: var(--gray-5);
}
.uls-menu.callout.selector-left::after,
.interlanguage-uls-menu.selector-left::after {
border-right: 10px solid var(--gray-2);
}
.mw-interlanguage-selector:active, .mw-interlanguage-selector.selector-open {
background-color: var(--gray-28) !important;
color: var(--gray-c);
}
.uls-menu {
border-color: var(--gray-5) !important;
}
.referencetooltip > li + li {
border-top: 12px var(--gray-5) solid !important;
}
.referencetooltip.RTflipped > li + li {
border-bottom-color: var(--gray-2) !important;
}
.referencetooltip.RTflipped > li + li::after {
border-bottom-color: transparent !important;
}
/* User Icon */
#pt-anonuserpage, #pt-userpage a {
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><g fill="%23aaa"><path d="M10 11c-5.92 0-8 3-8 5v3h16v-3c0-2-2.08-5-8-5z"/><circle cx="10" cy="5.5" r="4.5"/></g></svg>');
}
/* Bookmark Icon */
#ca-watch.icon a {
background-image: url('data:image/svg+xml;utf-8,%3Csvg width="16" height="16" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z" fill="transparent" stroke="%237cb5d1"/%3E%3C/svg%3E') !important;
}
#ca-unwatch.icon a {
background-image: url('data:image/svg+xml;utf-8,%3Csvg width="16" height="16" xmlns="http://www.w3.org/2000/svg"%3E%3Cdefs%3E%3ClinearGradient id="a" x1="13.47" x2="4.596" y1="14.363" y2="3.397" gradientUnits="userSpaceOnUse"%3E%3Cstop stop-color="%23c2edff" offset="0"/%3E%3Cstop stop-color="%2368bdff" offset=".5"/%3E%3Cstop stop-color="%23fff" offset="1"/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d="M8.103 1.146l2.175 4.408 4.864.707-3.52 3.431.831 4.845-4.351-2.287-4.351 2.287.831-4.845-3.52-3.431 4.864-.707z" fill="url(%23a)" stroke="%237cb5d1"/%3E%3C/svg%3E') !important;
}
/* Orange */
#centralNotice > div {
border-color: var(--orange-2) !important;
}
table.ambox-content:not(td), table.ambox-style {
border-left: 10px solid var(--orange-2);
}
table.box-No_footnotes.ambox-style {
border-left: 10px solid var(--yellow-2) !important;
}
table.ambox {
border: 1px solid var(--gray-5);
}
/* add border */
.vector-menu-tabs li, .client-js #preftoc li {
border-right: 1px solid var(--gray-5) !important;
}
.vector-menu-tabs .selected, .client-js #preftoc li.selected {
border-bottom: 2px solid var(--tab-color);
box-shadow: none !important;
}
.oo-ui-window-content.oo-ui-messageDialog-content {
border: 1px solid var(--gray-4) !important;
margin: -1px !important;
}
tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image,
tr + tr > .navbox-list {
border-top: 2px solid var(--gray-2);
}
table.navbox {
-webkit-box-shadow: 3px 3px 6px var(--gray-28);
-moz-box-shadow: 3px 3px 6px var(--gray-28);
box-shadow: 3px 3px 6px var(--gray-28);
}
/*** Text ***/
.wikitable tr:not([style*="color:black" i]) th:not([style*="color: black" i]):not([style*="FF"]):not([style*="77"]),
table.wikitable > tbody > tr[style*="background-color:#F6F6F6" i] > td > *,
tr.ext-infobox-header th, tr.ext-infobox-header span {
color: var(--white) !important;
}
.wikitable th[style*="color: black"], .wikitable th[style*="color: black"] {
color: var(--white) !important;
}
.CategoryTreeEmptyBullet, .table-na, .infobox, .hp-portalen a span, kbd {
color: var(--gray-c) !important;
}
.oo-ui-buttonElement-button:hover,
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover {
color: var(--gray-bc) !important;
}
.ve-ui-mwTemplatePage-description {
color: var(--gray-a);
}
a.new, #p-personal a.new {
color: var(--red-4) !important;
}
#mw-editform-cancel > a > span.oo-ui-labelElement-label {
color: var(--red-4);
}
/*** Quotes ***/
blockquote {
background-color: transparent !important;
border: none !important;
}
/*** Misc ***/
.bookshelf {
box-shadow: 0 -1px 0 var(--gray-5);
}
ul, .portlet li {
list-style-image: none;
}
.vectorMenu li {
list-style: none none;
}
table[style*="border:4px ridge" i], .jfk-bubble-closebtn,
.oo-ui-tagMultiselectWidget-handle input {
border: none !important;
}
.popup_history_row_even, .flow-topic-moderatestate-lock .flow-topic-titlebar {
background: var(--gray-3);
}
.editOptions, #proveit-body, .wikiEditor-ui-toolbar .booklet .pages {
background-color: transparent;
}
td[style="background:#efefef;" i] {
background: var(--gray-3) !important;
}
#proveit-header, #proveit-footer {
background-color: var(--gray-1);
}
.wikEdFrameBodyPlain {
background-color: var(--gray-1) !important;
}
.wikEdConsoleWrapper, .wikiEditor-ui-toolbar .group .tool-select,
.wikiEditor-ui-toolbar .group .tool-select .menu .options .option:hover {
background-color: var(--gray-2);
}
#proveit, ul[style*="background:#f9f9f9" i] {
background-color: var(--gray-2) !important;
}
.wikEdButtonBarButtonsWrapperVisible, .wikEdButtonBarButtonsWrapperHidden,
.wikEdButtonBarGrip, .wikiEditor-ui-toolbar .sections .section,
.wikiEditor-ui-toolbar .group .tool-select .options, .wikEdButtonsPreview {
background-color: var(--gray-3);
}
.wikiEditor-ui-toolbar .group .tool-select .options .option:hover {
background-color: var(--gray-4);
}
.wikiEditor-ui-toolbar .booklet .index div, .site-license a:hover,
.lang-list-button, a.link-box strong:hover, a.link-box:hover strong,
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
color: var(--base-color);
}
a.link-box:hover small bdi, a.link-box:hover small span {
color: var(--gray-c);
}
.site-license a:hover,
.flow-ui-boardDescriptionWidget-editButton .oo-ui-labelElement-label,
.ui-toggler.ui-state-default {
color: var(--base-color) !important;
}
.ui-toggler.ui-state-default {
border: 0 !important;
color: var(--base-color);
}
#proveit-header button, #proveit-footer button {
color: var(--gray-5);
}
.wikiEditor-ui-toolbar .booklet .index .current {
background-color: var(--gray-4);
color: var(--gray-9a);
}
.imeselector-menu .ime-checked {
background-image: linear-gradient(transparent, transparent),
url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%229%22%3E%3Cpath d=%22M11.226.257l-6.718 6.453-2.699-2.575-1.292 1.302c1.33 1.273 2.65 2.557 3.99 3.821 2.654-2.591 5.337-5.153 8.01-7.726z%22 fill=%22%23ccc%22/%3E%3C/svg%3E");
}
.wikEdButton, .wikEdButtonDummy, .wikEdButtonChecked, .wikEdButtonUnchecked {
background-color: transparent;
filter: invert(100%) hue-rotate(180deg);
}
.oo-ui-iconElement-icon.oo-ui-icon-edit {
filter: grayscale(1) brightness(180%);
}
.mw-graph-img, .mw-graph .vega canvas {
filter: invert(1) hue-rotate(180deg) contrast(60%);
}
.client-js .mw-graph-interactable:hover .mw-graph-layover,
.client-js .mw-graph-hover-title {
background-color: var(--gray-2_75);
}
.client-js .mw-graph-interactable:hover .mw-graph-switch:hover {
background-color: var(--gray-4);
}
.client-js .mw-graph-switch:hover, .client-js .mw-graph-switch {
background-color: var(--gray-3);
border-color: var(--base-color);
color: var(--base-color);
}
.wikEdButtonChecked {
border-color: var(--gray-e) var(--gray-1) var(--gray-1) var(--gray-e) !important;
}
.wikEdButtonUnchecked {
border-color: var(--gray-1) var(--gray-e) var(--gray-e) var(--gray-1) !important;
}
.mw-datatable td {
background-color: var(--gray-2);
}
.mw-datatable th, .mw-datatable tr:hover td {
background-color: var(--gray-3);
}
.mw-spinner-container > div::after {
background-color: var(--gray-9a);
}
div.flaggedrevs_diffnotice, div.flaggedrevs_preview,
div.mw-search-profile-tabs {
background-color: var(--blue-2);
border-color: var(--blue-3) !important;
color: var(--gray-c) !important;
}
div.flaggedrevs_short, div.flaggedrevs_short_details,
.mw-rcfilters-ui-filterMenuSectionOptionWidget,
.mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) {
background-color: var(--gray-2);
}
div[style*="background-color:#f9f9f9" i] {
background-color: var(--gray-2) !important;
}
table.fmbox-warning {
background-color: var(--red-3) !important;
border-color: var(--red-0) !important;
}
.mw-ext-score img {
background-color: var(--gray-c);
}
.installerTitle {
background-color: var(--blue-2);
}
.scriptInstaller {
box-shadow: 5px 5px 5px var(--gray-5);
background-color: var(--gray-2);
}
.cnotice {
background-color: var(--gray-18);
border-color: var(--brown-2);
}
.wikipediauserbox td {
color: var(--gray-a) !important;
}
.wikipediauserbox td a, .wikipediauserbox td a span {
color: var(--base-color) !important;
}
.wikipediauserbox table[style*="background" i],
table[style*="background:#DDD" i] {
background-color: var(--gray-2) !important;
}
.wikipediauserbox, .wikipediauserbox td *,
table[style*="border:1px solid #BBB" i] {
border-color: var(--gray-5) !important;
}
.boilerplate.archived[style="background-color: #edeaff" i] {
background-color: var(--blue-2) !important;
border-color: var(--blue-4) !important;
}
.boilerplate.archived[style*="background-color: #eaffea" i] {
background-color: var(--green-4) !important;
border-color: var(--green-2) !important;
}
.boilerplate.archived[style*="background-color: #ffeaea" i] {
background-color: var(--red-3) !important;
border-color: var(--red-2) !important;
}
.boilerplate.archived[style*="background-color: #ffffd1" i] {
background-color: var(--brown-1) !important;
border-color: var(--brown-2) !important;
}
.boilerplate.xfd-closed[style*="background-color: #f3f9ff" i] {
background-color: var(--blue-3) !important;
border-color: var(--blue-1) !important;
}
.boilerplate[style*="background-color: #efe" i] {
background-color: var(--green-2) !important;
border-color: var(--green-1) !important;
}
.mw-collapsible.mw-made-collapsible th[style*="background"]:not([style*="fed1a0"]):not([colspan]) {
background-color: var(--green-2) !important;
}
.mw-collapsible.mw-made-collapsible td[style*="background-color: #fcf4ef" i] {
background-color: var(--gray-3) !important;
border-color: var(--gray-5) !important;
}
.mw-collapsible.mw-made-collapsible[style*="border"],
.skin-vector-max-width .mw-footer {
border-color: var(--gray-5) !important;
}
/*** main page ***/
.mw-parser-output #mp-topbanner {
border-color: var(--gray-5);
background-color: var(--gray-2);
}
.mw-parser-output #mp-topbanner, .mw-parser-output .mp-h2,
.mw-parser-output #mp-left {
color: var(--gray-c);
}
.mw-parser-output #mp-right {
border-color: var(--blue-1);
background: var(--blue-2);
}
.mw-parser-output #mp-right .mp-h2 {
border-color: var(--blue-1);
}
.mw-parser-output #mp-left {
border-color: var(--green-1);
background: var(--green-4);
}
.mw-parser-output #mp-left .mp-h2 {
border-color: var(--green-1);
}
.mw-parser-output #mp-middle {
border-color: var(--pink-2);
background: var(--pink-0);
}
.mw-parser-output #mp-tfl-h2 {
border-color: var(--pink-2);
}
.mw-parser-output #mp-lower {
border-color: var(--purple-2);
background: var(--purple-d);
}
.mw-parser-output #mp-tfp-h2 {
border-color: var(--purple-2);
}
.mw-parser-output #mp-other-lower {
border-color: var(--gray-5);
}
.mw-parser-output #mp-other-lower .mp-h2 {
background: var(--gray-28);
border-color: var(--gray-5);
}
.mw-parser-output .itn-special {
background-color: var(--blue-3);
border-color: var(--blue-4);
}
#mp-middle p, #mp-other-lower p, .oo-ui-toolbar-bar {
color: var(--gray-c);
}
#mp-left h2, #mp-left h2 span {
background: var(--green-2) !important;
color: var(--gray-d) !important;
}
#mp-right h2, #mp-right h2 span {
background-color: var(--blue-3) !important;
}
#mp-center #mp-tfl-h2, #mp-center #mp-tfl-h2 span {
background-color: var(--pink-1) !important;
color: var(--gray-d) !important;
}
#mp-lower #mp-bottom h2, #mp-bottom h2 span {
background-color: var(--purple-1) !important;
}
/*** diff pages ***/
table.diff, td.diff-otitle, td.diff-ntitle, td.diff-addedline,
td.diff-deletedline, td.diff-context {
background-color: transparent !important;
color: var(--gray-9a);
}
.wikEdDiffButtonUnchecked {
border-color: var(--gray-4) !important;
}
td.diff-deletedline .diffchange, .wikEdDiffDelete,
.wikEdDiffFragment:hover .wikEdDiffDelete {
background-color: var(--diff-del) !important;
color: var(--gray-d) !important;
}
.mw-revslider-revision-tooltip .mw-revslider-change-negative {
color: var(--diff-del);
}
td.diff-addedline .diffchange, .wikEdDiffInsert,
.wikEdDiffFragment:hover .wikEdDiffInsert {
background-color: var(--diff-add) !important;
color: var(--gray-d) !important;
}
td.diff-deletedline {
border-color: var(--diff-del) !important;
}
td.diff-addedline {
border-color: var(--diff-add) !important;
}
del.popupDiff {
background-color: var(--diff-del);
}
ins.popupDiff {
background-color: var(--diff-add);
}
.mw-revslider-pointer-line .mw-revslider-upper-color,
.mw-revslider-pointer-container-newer .mw-revslider-slider-line {
border-color: var(--revs-new) !important;
}
.mw-revslider-pointer-line .mw-revslider-lower-color,
.mw-revslider-pointer-container-older .mw-revslider-slider-line {
border-color: var(--revs-old) !important;
}
.oo-ui-buttonElement-button:active, .pure-button-primary-progressive:active,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active,
.mw-ui-button.mw-ui-progressive:active,
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:active,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:active {
filter: brightness(72.5%) !important;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus:not(:active),
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-iconElement > .oo-ui-buttonElement-button:focus:not(:active),
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-labelElement > .oo-ui-buttonElement-button:focus:not(:active) {
border-color: var(--base-color) !important;
box-shadow: inset 0 0 0 1px var(--base-color) !important;
}
.oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder {
color: var(--gray-7) !important;
}
.mw-mmv-title-para .mw-mmv-ttf-ellipsis {
background-color: var(--gray-2);
}
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled,
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover {
background-color: transparent !important;
}
.oo-ui-labelWidget.oo-ui-inline-help {
color: var(--gray-9a);
}
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle,
.mw-mmv-label,
.mw-mmv-ttf-ellipsis-container:hover .mw-mmv-ttf-container .mw-mmv-ttf-ellipsis,
.wbmi-item .wbmi-item-container .wbmi-entity-header,
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active {
background-color: var(--gray-28);
color: var(--gray-b);
}
.mw-mmv-label:hover, .mw-mmv-ttf-container .mw-mmv-ttf-ellipsis:hover,
.mw-mmv-ttf-ellipsis-container .mw-mmv-ttf-container .mw-mmv-ttf-ellipsis:hover {
background-color: var(--gray-3);
}
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover {
background-color: var(--gray-3);
color: var(--gray-9a);
border-color: var(--gray-5);
}
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus,
input.too-ui-inputWidget-input {
border-color: var(--base-color);
box-shadow: inset 0 0 0 1px var(--base-color) !important;
}
.oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle {
background-color: var(--gray-3);
}
.oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle {
text-shadow: none;
border-color: var(--gray-5);
background-color: var(--gray-3);
}
.mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(2n) td {
background-color: var(--gray-3);
}
.mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td {
background-color: var(--gray-4);
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button {
background-color: var(--darker-base) !important;
border-color: var(--darker-base) !important;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:hover {
background-color: var(--darker-base) !important;
border-color: var(--darker-base) !important;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button .oo-ui-labelElement-label {
color: var(--gray-e) !important;
}
/*** translation pages ***/
body.mw-special-ContentTranslation, body.mw-special-ContentTranslationStats {
background-color: var(--gray-2);
background-image: var(--bg-selected);
}
.cx-dashboard, .cx-slitem__details .cx-slitem__translation-link .source-title,
.cx-tlitem .cx-tlitem__details .translation-link .source-title,
.cx-ui-translationIssue.oo-ui-tabPanelLayout > .cx-ui-translationIssue-message,
.cx-pagetitle.oo-ui-textInputWidget textarea,
.cx-translation-view-header .cx-header__translation-center .oo-ui-buttonElement-button .oo-ui-labelElement-label {
color: var(--gray-c);
}
.cx-translationlist-container, .cx-translation-view, .cx-column,
.cx-column.cx-column-tools, .card-instructions-count-one,
.card-instructions-count-two, .card-instructions-count-three {
background-color: transparent;
}
.cx-dashboard-sidebar__help, .cx-translator, .cx-suggestionlist__header,
.cx-translationlist__header, .cx-card:not(:empty) {
background-color: var(--gray-2);
}
.translation-filter, .cx-selected-source-page__actions,
.cx-selected-source-page__container, .cx-selected-source-page__license,
.cx-translationlist-empty, .cx-suggestionlist-empty,
.cx-translation-view .cx-translation-view-container {
background-color: var(--gray-28);
}
.cx-translatorstats, .cx-tlitem:hover, .cx-slitem:hover,
.cx-suggestionlist__collapse:hover, .cx-suggestionlist__expand:hover,
.cx-suggestionlist__refresh:hover,
.ve-ce-cxPendingNode-pending .ve-ce-cxPendingNode-indicator {
background-color: var(--gray-3);
}
.cx-tlitem:last-child, .cx-slitem:last-child,
.mw-cx-tools-IssueTracking > .mw-cx-tools-IssueTracking-body,
.cx-ui-translationIssue.oo-ui-tabPanelLayout > .cx-ui-translationIssue-foot:not(:empty) {
border-color: var(--gray-5);
}
.cx-language-filter .cx-language-filter-arrow::before,
.cx-language-filter .cx-language-filter-arrow::after {
border-left-color: var(--gray-5);
}
.ve-cx-toolbar-mt .ve-cx-toolbar-mt-title {
border-bottom-color: var(--gray-5);
}
.ve-ce-cxLintableNode.mw-cx-current-issue-warning {
box-shadow: -16px 0 0 -4px var(--gray-4), -20px 0 0 -4px var(--yellow-1);
}
.ve-ce-cxLintableNode.mw-cx-lintIssue-warning {
box-shadow: -17px 0 0 -4px var(--gray-3), -20px 0 0 -4px var(--yellow-1);
}
.cx-header__trademark img {
filter: invert(100%) brightness(60%);
}
.cx-tlitem, .cx-slitem, .cx-suggestionlist__collapse,
.cx-suggestionlist__expand, .cx-suggestionlist__refresh,
.cx-translation-view-header, .card-instructions-section {
background-color: var(--gray-2);
border-color: var(--gray-5);
}
.oo-ui-tagItemWidget.oo-ui-widget-disabled {
background-color: var(--gray-3);
border-color: var(--gray-5);
text-shadow: none;
}
.cx-language-filter, .cx-dashboardlist__loading-indicator {
background-color: var(--gray-3);
border-color: var(--gray-5);
}
.ve-ce-cxPlaceholderNode {
background-color: var(--gray-3);
box-shadow: 0 0 0 4px var(--gray-3);
}
.cx-highlight, .cx-sentence-highlight, .cx-section-highlight {
background-color: var(--brown-3);
box-shadow: 0 0 0 4px var(--brown-3);
}
.ve-cx-toolbar-mt .ve-cx-toolbar-mt-noservices {
background-color: var(--gray-28);
border-color: var(--gray-5);
}
/*** invert images ***/
img[title="Wikipedia"], #mw-wsmfinal-close, img[src*="Speaker_Icon"],
.infobox img[alt*="structure"][src*=".svg"]:not([alt*="lag"]),
/*
img[src*=".svg"][height="16"]:not([alt*="lag"]),
img[src*=".svg"][height="17"]:not([alt*="lag"]),
img[src*=".svg"]:not([src*="check"])[height="18"]:not([src*="oyal"]):not([alt*="lag"]),
*/
#gtx-host, .jfk-bubble-closebtn, .RTsettings,
#pt-notifications-notice .mw-echo-notifications-badge,
#pt-notifications-alert .mw-echo-notifications-badge,
img.mwe-math-fallback-image-display, #cnotice-toggle-icon {
-webkit-filter: invert(100%) !important;
filter: invert(100%) !important;
background-color: transparent !important;
}
img.mwe-math-fallback-image-inline, .oo-ui-indicator-required {
filter: invert(1) brightness(90%);
}
div.equation-box[style*="background-color: #F5FFFA"] {
background-color: var(--gray-1) !important;
}
div.equation-box[style*="border-color: #0073CF"] {
border-color: var(--base-color) !important;
}
img[src*="Portal.svg"], img[src*="Information.svg"],
img[src*="Global_thinking.svg"], img[src*="Clipboard.svg"],
img[src*="Darkgreen_flag_waving.svg"], img[src*="Stock_post_message.svg"],
img[src*="Featured_article_star_-_cross.svg"],
img[src*="C%C3%ADrculos_Conc%C3%A9ntricos.svg"],
img[src*="Johnny-automatic-scales-of-justice"], img[src*="_scales"],
a.image img[src*="Cross_country_skiing_pictogram"],
.ve-ui-educationPopup-header, img[src*="/Status_iucn3."] {
filter: invert(100%) hue-rotate(180deg) brightness(120%) contrast(102%);
}
a.image img[src*="Newspaper_Cover.svg"],
a.image img[src*="Question_book-4.svg"],
a.image img[src*="Wiktionary-logo.svg"],
a.image img[src*="Disambig_bordered_fade.svg"],
a.image img[src*="P_computing.svg"],
a.image img[src*="Nuvola_apps_korganizer.svg"],
a.image img[src*="Community.png"], a.image img[src*="C_Puzzle.png"],
a.image img[src*="Wikimedia_Community_Logo"], a.image img[src*="Commons-logo"],
a.image img[src*="Wikibooks-logo"], a.image img[src*="Wikiquote-logo"],
a.image img[src*="Wikipedia-logo"], a.image img[src*="Wikisource-logo"],
a.image img[src*="Wikisource-logo"], a.image img[src*="Wikinews-logo"],
a.image img[src*="Wikiversity-logo"], a.image img[src*="Wikidata-logo"],
a.image img[src*="Wikivoyage-logo"], a.image img[src*="Wikivoyage-Logo-v3"],
a.image img[src*="MediaWiki-notext"], img[src*="Ambox_warning"],
a.image img[src*="Ambox_warning"], a.image img[src*="important"],
a.image img[src*="Disambig"], a.image img[src*="Vista-trashcan"],
a.image img[src*="Vista-trashcan"], a.image img[src*="Vista-trashcan"],
a.image img[src*="Merge-arrows.gif"], a.image img[src*="Cscr-featured"],
img[src*="Cscr-former.svg"], img[src*="Splitsection.svg"],
a.image img[src*="Nuvola_apps_"], a.image img[src*="Otszogletu_zold_tabla"],
a.image img[src*="Wiki_letter_w_cropped"], a.image img[src*="Coat_of_arms"],
a.image img[src*="COA"], a.image img[src*="Gtk"],
a.image img[src*="Replacement_filing_cabinet.svg"],
img[src*="Nuvola_apps_date.svg"], a.image img[src*="Emblem-important.svg"],
a.image img[src*="E-Guitare-horiz"], a.image img[src*="Exquisite"],
a.image img[src*="orthographic"], a.image img[src*="Padlock"],
a.image img[src*="User-info.svg"], a.image img[src*="Symbol_"],
a.image img[src*="commentary"], a.image img[src*="Art"],
.flow-ui-boardDescriptionWidget-editButton a.oo-ui-buttonElement-button:hover,
a.image img[src*="Copyright_maybe"], a.image img[src*="Crystal"],
a.image img[src*="Pillar"], a.image img[src*="map_"], a.image img[src*="box_"],
a.image img[src*="Globe"], a.image img[src*="Paper"],
a.image img[src*="Contact"], a.image img[src*="WP"],
a.image img[src*="Sport3_icone"], a.image img[src*="Twemoji"],
a.image img[src*="Information_icon"], a.image img[src*="_check"],
a.image img[src*="Gnome-dialog-"], a.image [src*="Writing_Magnifying"],
a.image [src*="Postscript"], a.image [src*="People_"],
a.image [src*="Fairytale_"], a.image [src*="Pod_l"],
a.image [src*="-file-manager"], a.image [src*="Chilli"],
a.image [src*="Vista_"], a.image [src*="Trivialpursuit"],
a.image [src*="Fisher"], a.image img[src*="Icon_tools"],
a.image img[src*="Puzzle_stub"], a.image img[src*="Gnome-"],
a.image img[src*="copyright_icon"], a.image img[src*="Arrows"],
a.image img[src*="Squola"], a.image img[src*="scales"],
a.image img[src*="DeadEnd"], a.image img[src*="Local"],
a.image img[src*="Merge-"], a.image img[src*="delete"],
a.image img[src*="Filing_"], a.image img[src*="Lens_"],
a.image img[src*="Wikimedia_logo_family_complete"], a.image img[src*="Propan"],
a.image img[src*="pictogram"], a img[src*="Commons-logo"], .filehistory a img,
#file img:hover {
background: inherit !important;
}
.vertical-navbox th:not([style*="6a5"]):not([style*="3C3"]):not([style*="B22"]),
div[class*="mw-echo-ui"], span[class*="mw-echo-ui"] {
background-color: inherit !important;
}
img[src*="P_literature.svg"], img[src*="Portal-puzzle.svg"],
img[src*="Wikipedia%27s_W.svg"], a img[src*="Wikimedia_A"],
a img[src*="Wikimedia_%C3%96sterreich_logo_black"],
a img[src*="Wikimedia_C"]:not([src*="2016"]), a img[src*="Wikimedia_De"],
a img[src*="Wikimedia_Es"], a img[src*="Wikimedia_S"],
a img[src*="Wikimedia_K"], a img[src*="Wikimedia_N"],
a img[src*="Wikimedia_RU"], a img[src*="Wikimedia_T"],
a img[src*="Wikimedistas_de_Bolivia"],
a img[src*="Affiliations_Committee_logo_black"], img[src*="Simple_light_bulb"],
a.image img[src*="Semi-protection-shackle"], img[src*="Wikimedia-logo_black"],
img[src*="Banner_Aboriginal"], a.image [src*="Poster_Creative_Commons"],
a.image [src*="Etiquettes_Wikipetcia_Atikamekw"],
img[src*="Etiquettes_Wikipetcia_Atikamekw"], a.image [src*="Psi2"],
img[src*="Psi2"], a.image [src*="Draig"], img[src*="Draig"],
a.image [src*="Social_sciences"], img[src*="UserAvatar"],
img[src*="external-link"], img[src*="_Silhouette"], img[src*="ship_side_view"],
img[src*="Subm"], img[src*="Frigate"], a.image img[src*="Propanol"],
img[src*="Wikitext"], a img[src*="question"] {
background: transparent !important;
filter: invert(1) hue-rotate(180deg) contrast(84%);
}
a img[src*="E60-HUN"][height="18"], span img[alt="flag"][src*="svg"] {
background: transparent !important;
filter: none !important;
}
a.image img[src*="Daggers.svg"], a.image img[src*="Acap.svg"],
a.image img[src*="Dagger-and-double-dagger-in-times-new-roman"],
img[src*="Kreuz_als_Fu%C3%9Fnotenzeichen_in_Henderson"],
a img[src*="Audio_a.svg"], a img[src*="Quill_and_ink.svg"],
a.image img[src*="Wiktionary-logo-en"], a.image img[src*="Wikitext"],
a.image img[src*="ock_font"] {
background: inherit !important;
filter: invert(90%) hue-rotate(180deg) brightness(140%) contrast(200%);
}
img[src*="Black_W_for_promotion"] {
filter: invert(1) brightness(80%) contrast(90%);
background-color: #bbb !important;
}
.mbox-image img[src*="Wiktionary-logo"], a.image img[src*="Esca"],
a img[src*="Esca"] {
filter: invert(90%) hue-rotate(180deg) brightness(120%);
}
/* fix border due to image inversion in above rule */
div.thumbinner a.image img[src*="Daggers.svg"],
a.image img[src*="Dagger-and-double-dagger-in-times-new-roman"] {
border: 1px solid var(--gray-c) !important;
}
.oo-ui-pendingElement-pending {
background-color: var(--gray-1);
background-image: -webkit-linear-gradient(135deg, var(--black) 25%, transparent 25%, transparent 50%, var(--black) 50%, var(--black) 75%, transparent 75%, transparent);
background-image: -moz-linear-gradient(135deg, var(--black) 25%, transparent 25%, transparent 50%, var(--black) 50%, var(--black) 75%, transparent 75%, transparent);
background-image: linear-gradient(135deg, var(--black) 25%, transparent 25%, transparent 50%, var(--black) 50%, var(--black) 75%, transparent 75%, transparent);
}
.central-textlogo__image, .unicode.haudio a img {
filter: invert(60.5%) !important;
}
.mw-ui-icon-popups-close::before, .mw-ui-icon-footer::before,
.oo-ui-iconElement-icon:not(.oo-ui-image-invert):not(.oo-ui-image-progressive):not(.oo-ui-icon-stop):not(.oo-ui-icon-add):not(.oo-ui-icon-check):not(.oo-ui-iconElement-noIcon) {
filter: invert(86.5%) !important;
}
.central-featured-logo {
filter: brightness(90%) !important;
}
.oo-ui-icon-bell, .mw-widget-calendarWidget-day-additional {
opacity: .7 !important;
}
#footer-icons img {
filter: brightness(70%);
}
img[alt="The Signpost"] {
filter: invert(60%);
}
.sprite.svg-translate-icon, .sprite.svg-arrow-down-blue {
filter: grayscale(100%) brightness(200%);
}
.svg-language-icon {
background-position: 0 -617px;
filter: grayscale(1) brightness(2);
}
.bookshelf-container .bookend {
filter: invert(1) grayscale(1) brightness(120%);
}
#mw-indicator-mw-helplink a {
background-image: url('data:image/svg+xml;utf-8,%3Csvg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="m12.001 2.085c-5.478 0-9.916 4.438-9.916 9.916 0 5.476 4.438 9.914 9.916 9.914 5.476 0 9.914-4.438 9.914-9.914 0-5.478-4.438-9.916-9.914-9.916zm0.001 18c-4.465 0-8.084-3.619-8.084-8.083 0-4.465 3.619-8.084 8.084-8.084 4.464 0 8.083 3.619 8.083 8.084 0 4.464-3.619 8.083-8.083 8.083z" fill="%23888"/%3E%3Cpath d="m11.766 6.688c-2.5 0-3.219 2.188-3.219 2.188l1.411 0.854s0.298-0.791 0.901-1.229c0.516-0.375 1.625-0.625 2.219 0.125 0.701 0.885-0.17 1.587-1.078 2.719-0.953 1.186-1 3.655-1 3.655h1.969s0.135-2.318 1.041-3.381c0.604-0.707 1.443-1.338 1.443-2.494s-1.187-2.437-3.687-2.437zm-0.766 9.312h2v2h-2v-2z" fill="%23888"/%3E%3C/svg%3E');
}
.cx-campaign-contributionsmenu li.cx-campaign-contributions a {
background-image: url('data:image/svg+xml;utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="m10 11c-5.92 0-8 3-8 5v3h16v-3c0-2-2.08-5-8-5z" fill="%23888"/%3E%3Ccircle cx="10" cy="5.5" r="4.5" fill="%23888"/%3E%3C/svg%3E%0A');
}
.cx-campaign-contributionsmenu li.cx-campaign-translations a {
background-image: url('data:image/svg+xml;utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M20 18h-1.44a.61.61 0 0 1-.4-.12.81.81 0 0 1-.23-.31L17 15h-5l-1 2.54a.77.77 0 0 1-.22.3.159.59 0 0 1-.4.14H9l4.55-11.47h1.89zm-3.53-4.31L14.89 9.5a11.62 11.62 0 0 1-.39-1.24q-.09.37-.19.69l-.19.56-1.58 4.19zm-6.3-1.58a13.43 13.43 0 0 1-2.91-1.41 11.46 11.46 0 0 0 2.81-5.37H12V4H7.31a4 4 0 0 0-.2-.56C6.87 2.79 6.6 2 6.6 2l-1.47.5s.4.89.6 1.5H0v1.33h2.15A11.23 11.23 0 0 0 5 10.7a17.19 17.19 0 0 1-5 2.1q.56.82.87 1.38a23.28 23.28 0 0 0 5.22-2.51 15.64 15.64 0 0 0 3.56 1.77zM3.63 5.33h4.91a8.11 8.11 0 0 1-2.45 4.45 9.11 9.11 0 0 1-2.46-4.45z" fill="%23888"/%3E%3C/svg%3E');
}
.cx-campaign-contributionsmenu li.cx-campaign-uploads a {
background-image: url('data:image/svg+xml;utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M13.09 6.18a3.68 3.68 0 0 1-2.18-2.55c.09.09 1.82.91 1.82.91L10 0 7.27 4.55l1.82-.91a5.08 5.08 0 0 0 .55 1.91 5.13 5.13 0 0 0 2 2 8.86 8.86 0 0 1 2 1.18l-.64.63-.45-.45-.26 1.54 1.54-.26-.45-.45.62-.65a5.69 5.69 0 0 1 1.45 3.45h-.91v-.73l-1.26.91 1.26.91v-.73h.91A5.21 5.21 0 0 1 14 16.36l-.64-.64.45-.45-1.53-.27.26 1.54.45-.45.64.64a5.69 5.69 0 0 1-3.45 1.45v-.91h.73L10 16l-.91 1.27h.73v.91a5.21 5.21 0 0 1-3.45-1.45l.63-.64.45.45.27-1.54-1.54.26.45.45-.63.65a5.69 5.69 0 0 1-1.45-3.45h.91v.73l1.26-.91-1.26-.91v.73h-.91A5.21 5.21 0 0 1 6 9.09l.64.64-.45.45 1.54.26-.28-1.53-.45.45-.64-.64L5 7.45a7.29 7.29 0 1 0 8.09-1.27z" fill="%23888"/%3E%3Ccircle cx="10" cy="12.7" r="2.5" fill="%23888"/%3E%3C/svg%3E');
}
table.jquery-tablesorter th.headerSort {
background-image: url('data:image/svg+xml;utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="21" height="9"%3E%3Cpath d="M14.5 5l-4 4-4-4zm0-1l-4-4-4 4z" fill="%23ccc"/%3E%3C/svg%3E');
}
img[src*="Sort_both_small.svg"] {
filter: invert(.8);
}
.oo-ui-indicator-down, .oo-ui-indicator-clear {
filter: invert(100%);
}
#pt-uls a.uls-trigger, .sprite.svg-Wikimedia-logo_black {
filter: invert(100%) hue-rotate(180deg);
}
.cx-header__personal a.uls-trigger:hover {
color: var(--gray-1) !important;
}
div#mw-panel div.portal .body {
background-image: none !important;
}
div#mw-panel div.portal h3 {
background-image: linear-gradient(to right, var(--gray-5) 0%, var(--gray-5) 100%);
}
/*** Reference tooltips ***/
.rt-tooltip, .rt-tooltipTail::after {
background: var(--gray-2) !important;
}
.rt-tooltipTail {
background: var(--gray-5) !important;
}
/*** Page preview settings ***/
.mwe-popups-overlay {
background-color: var(--gray-2_75) !important;
}
#mwe-popups-settings {
box-shadow: 0 2px 2px 0 var(--gray-5_25) !important;
}
a.image img[src*="Stop_hand.svg"], img[src*="OOjs_UI_icon_article-ltr.svg"],
img[src*="OOjs_UI_icon_edit-ltr"], img[src*="OOjs_UI_icon_academic.svg"],
img[src*="OOjs_UI_icon_speechBubbles-ltr.svg"],
img[src*="OOjs_UI_icon_advanced.svg"], img[src*="OOjs_UI_icon_desktop.svg"],
img[src*="OOjs_UI_icon_chem.svg"],
img[src*="OOjs_UI_icon_ongoingConversation-rtl.svg"],
img[src*="Echo_%28Notifications%29_megaphone.svg"] {
filter: invert(1) hue-rotate(180deg) brightness(90%);
}
/*** Navigation menu logo ***/
/* Article assessment colors */
.assess-fa-text, .assess-fl-text {
color: var(--assess-1) !important;
}
.assess-a-text, .assess-al-text {
color: var(--assess-2) !important;
}
.assess-ga-text {
color: var(--assess-3) !important;
}
.assess-b-text, .assess-bl-text {
color: var(--assess-4) !important;
}
.assess-c-text, .assess-cl-text {
color: var(--assess-5) !important;
}
.assess-start-text {
color: var(--assess-6) !important;
}
.assess-stub-text, .assess-sl-text {
color: var(--assess-7) !important;
}
.assess-list-text {
color: var(--assess-8) !important;
}
.assess-bplus-text {
color: var(--assess-9) !important;
}
.assess-dab-text, .assess-setindex-text {
color: var(--assess-10) !important;
}
.assess-cur-text {
color: var(--assess-11) !important;
}
.assess-future-text {
color: var(--assess-12) !important;
}
/* https://en.wikipedia.org/wiki/YAML fixes */
td[style*="background: #FFFF66;"] {
background: var(--yellow-2) !important;
}
td[style*="background: #ffd6ff;"] {
background: var(--pink-3) !important;
}
a.image img[src*="System-installer.svg"], a.image img[src*="Graduation_cap"],
a.image img[src*="Crystal_kcontrol"],
a.image img[src*="Wikipedia_New_page_reviewer.svg"],
a.image img[src*="Scale_of_justice_2.svg"],
a.image img[src*="Crystal_kthememgr.svg"],
a.image img[src*="Question_book-new.svg"] {
background: inherit !important;
}
/* https://en.wikipedia.org/wiki/YAML syntax fixes */
.mw-highlight {
background-color: var(--gray-18);
}
.mw-highlight .c1 {
color: var(--cm-8);
}
.mw-highlight .nv, .mw-highlight .nn {
color: var(--cm-5);
}
.mw-highlight .no {
color: var(--cm-13);
}
.mw-highlight .nc {
color: var(--cm-6);
}
.mw-highlight .k, .mw-highlight .nt {
color: var(--cm-8);
}
.mw-highlight .mh, .mw-highlight .p {
color: var(--cm-14);
}
.mw-highlight .mi {
color: var(--cm-9) !important;
}
.mw-highlight .kd {
color: var(--cm-15);
}
.mw-highlight .gh {
color: var(--cm-5) !important;
}
.mw-highlight .nf {
color: var(--cm-4);
}
.mw-highlight .kt {
color: var(--cm-15);
}
.mw-highlight .na {
color: var(--cm-8);
}
.mw-highlight .s {
color: var(--cm-13);
}
.ns-talk .mw-body-content dl {
border: 0;
}
div[style*="border:2px solid #90C0FF; background:#F0F0FF;"] hr {
background-color: var(--gray-4) !important;
}
.ns-talk .mw-body-content dl, .ns-talk .mw-body-content dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl dl dl dl dl dl,
.ns-talk .mw-body-content dl dl dl dl dl dl dl dl dl dl dl dl dl {
background: inherit;
}
table.cmbox-notice {
background-color: var(--blue-2) !important;
}
.mw-parser-output .current-events-sidebar > div:not(.mw-collapsible-content) {
background-color:initial;
}
qqlboshsmzhwyx4rrjoleit666fnp1r
B-Roll
0
81
3300
722
2023-11-03T19:24:44Z
MiniBomba
144
Add categories
3300
wikitext
text/x-wiki
B-Roll is alternative footage that is intercut with the main shot or A-Roll footage.
This is usually for supplemental footage - Panning shots with accentuated colours or editing that just "look pretty"
Example: [https://www.youtube.com/watch?v=_c37jo94oFQ 1 Dollar Dumplings (3 Ways)]
* Does not provide any context or information
* Audio is usually music
* Quick, cinematic shots that are heavily stylized and look very pretty
[[wikipedia:B-roll|Wikipedia Article]] [https://www.merriam-webster.com/dictionary/B-roll Merriam-Webster]
[[Category:Dictionary]]
5l0uakdo2lc9qunxsu8431mbi8d8dh6
Tuning the Server
0
82
3345
3233
2023-11-03T19:50:01Z
MiniBomba
144
Add categories
3345
wikitext
text/x-wiki
==== Increase ulimit ====
ulimit -n 65535
==== Sysctl ====
==== Increase the ports available ====
sysctl -w net.ipv4.ip_local_port_range="9000 65500"
And add this line to <code>/etc/sysctl.conf</code>
net.ipv4.ip_local_port_range=9000 65500
==== Increase max connections ====
sysctl -w net.core.somaxconn=324000
And add this line to <code>/etc/sysctl.conf</code>
net.core.somaxconn=324000
===== More limits =====
net.ipv4.tcp_max_syn_backlog=3240000
net.core.netdev_max_backlog=70000
net.ipv4.tcp_max_orphans=70000
Lower timeout to allow more connections per second<ref>https://stackoverflow.com/a/3923785/1985387</ref>
net.ipv4.tcp_fin_timeout=20
==== Security limits ====
Add these lines to <code>/etc/security/limits.conf</code>
* soft nofile 65535
* hard nofile 65535
== Postgres ==
Autovacuum - 10mins <ref>https://discord.com/channels/603643120093233162/603643299961503761/958431436023672842</ref>
Hugepages for shared_memory buffers
syncronous_commits off <ref>https://discord.com/channels/603643120093233162/607338052221665320/961280147611353088</ref>
[[Logical Replication]]
== Thumbnail Cache ==
==== fs max files ====
sysctl -w fs.inotify.max_user_instances=10000
sysctl -w fs.inotify.max_user_watches=100000
<references />
[[Category:Developer Reference]]
a80300sp7enmmkrmkl39rb2y0qtyncc
Segment Categories
0
83
804
803
2022-01-06T06:55:11Z
Mchangrh
7
Redirected page to [[Guidelines]]
804
wikitext
text/x-wiki
#REDIRECT [[Guidelines]]
lvdhqlhbz8naisxg1oafkbkcoypqm4t
Sponsor-Selfpromo
0
84
3011
943
2022-11-25T17:43:36Z
Kong
1391
/* Turnkey Defenition */ Spelling
3011
wikitext
text/x-wiki
=== [DRAFT] Disambiguation of sponsor vs selfpromo ===
* no association/ affiliate: sponsor
* turnkey/ white-label: selfpromo
* custom/ build-to-order: sponsor
* considerable ownership: selfpromo
* wholly owned: selfpromo
*Biased investment advice (stocks, cryptocurrency, nfts, etc.): sponsor
=== Turnkey Definition ===
''Turnkey'' refers to something that is ready for immediate use, generally used in the sale or supply of goods or services. The word is a reference to the fact that the customer, upon receiving the product, just needs to turn the ignition key to make it operational, or that the key just needs to be turned over to the customer. This is contrasted with build to order, where the constructor builds an item to the buyer's exact specifications, or when an incomplete product is sold with the assumption that the buyer would complete it.
=== Examples ===
* Branded "G-Fuel" Energy Drink: Sponsor
** if there is an affiliate link or if it is customized for the content creator
* Merch through a third party distributor (RedBubble, TeeSpring): Selfpromo
** RedBubble and TeeSpring are turnkey solutions for merch with limited involvement by the parent company
* Beast Burgers: Selfpromo
** Beast Burgers are part of a turnkey solution by Virtual Dining Concepts. <ref>https://www.virtualdiningconcepts.com/get-started/</ref>
* LunarClient Partners: Sponsor
** LunarClient cosmetics are not turnkey
* Epic Games ''Support-A-Creator'': Sponsor
** Content creators have no association with the brand and in their Application even states that any creator must disclose their connection.<ref>https://www.epicgames.com/affiliate/en-US/overview</ref>
*Makeship
**Similar to YouTooz, the platform is promoted and the products are not turnkey. <ref>https://discord.com/channels/603643120093233162/655247785561554945/957744305030701096</ref>
=== References ===
5en6zb43fi7sb7syk2zl8xt0l5qkfud
Selfpromo
0
85
807
2022-01-06T23:04:19Z
Mchangrh
7
Add redirect
807
wikitext
text/x-wiki
#REDIRECT[[Unpaid/Self Promotion]]
mqjfxcumck5nk9d1vau9flhapj19cy8
Full Video Labels
0
86
3328
3247
2023-11-03T19:41:27Z
MiniBomba
144
Add categories
3328
wikitext
text/x-wiki
'''''Full video labels should not be used on every video or channel which is sponsored.'''''
The label should only be applied if the entire video is based around or features the product and removing mentions would remove the majority of the video.
Even when a video is labelled as such, the parts that '''can be cleanly skipped''' should still be skipped but the [[disclosure]]<ref>Disclosure is when a video mentions that an entire video is sponsored by some company, and includes any descriptions of how this has affected the video</ref> should still be left intact.
Only one label is shown on a video at a time. The priority of the labels is
# Sponsor
# Exclusive Access
# Unpaid/ Self Promo
=== Submitting Full Video Labels ===
# Select any points on the video
# Select one of the applicable categories
# In the type dropdown with Skip / Mute, select "Full Video"
=== Sponsor ===
This label should only be used when the creator has been '''paid in money''' to advertise something shown in the video that cannot be completely removed by cuts or the topic of the video was decided by a paying party.
This should not be used when a creator is given a free product from a company.
=== Exclusive Access ===
This label should only be used when the creator showcases a product, service or location that they've received free or subsidised access to in the video that cannot be completely removed by cuts.
=== Unpaid/Self Promotion ===
This follows the same rules as [[Unpaid/Self Promotion]].
This should not be used when a creator is given a free product from a company.
https://blog.ajay.app/full-video-sponsorblock
=== Examples ===
{| class="wikitable"
|+
!Description
!Video Link
|-
! colspan="2" |Sponsor
|-
|Sponsored showcase
|[https://www.youtube.com/watch?v=R3iNAQqqnjE Never do tech support for your family again! - Acronis friday showcase]
|-
|Sponsored showcase
|[https://www.youtube.com/watch?v=wBfNE5fi5BE Sponsors aren't safe - NZXT Capsule microphone]
|-
|Sponsored showcase
|[https://www.youtube.com/watch?v=yGOchAQ1uag UGreen HiTune X6 - The best Galaxy Buds or AirPods Pro alternative?]
|-
|Sponsored showcase
|[https://www.youtube.com/watch?v=yjztvddhZmI Why you should want driverless cars on roads now]
|-
|The author sponsored the video that features topics from their book
|[https://www.youtube.com/watch?v=W93XyXHI8Nw Is civilization on the brink of collapse?]
|-
! colspan="2" |Exclusive Access
|-
|Exclusive access to product under embargo
|[https://www.youtube.com/watch?v=V7DnNoAnbDc They finally made a perfect camera (DJi RONIN 4D)]
|-
|Exclusive access to facility
|[https://www.youtube.com/watch?v=ssZ_8cqfBlE How many robots does it take to run a grocery store?]
|-
|Exclusive access to product under embargo
|[https://www.youtube.com/watch?v=UMBLCv54JPw Intel i5 12600K review vs. AMD Ryzen - 10 Cores?!]
|-
|Early access to press copy
|[https://www.youtube.com/watch?v=SQ3Qvuw_fg4 The Far Cry 6 story was shockingly great!]
|-
|Exclusive access
|[https://www.youtube.com/watch?v=_3P_S7pL7Yg The highway where trucks work like electric trains]
|-
! colspan="2" |Unpaid/Self Promotion
|-
|Entire video is selfpromo for merch & can't be separated
|[https://www.youtube.com/watch?v=YMJJZoiFeCY National berd day]
|-
|Entire video is trailer
|[https://www.youtube.com/watch?v=a1x2wn7vcho Achievement Hunter Wrestling | [https://www.youtube.com/watch?v=a1x2wn7vcho Achievement Hunter Wrestling | official trailer]
|-
|Entire video is for fundraiser & can't be separated
|[https://www.youtube.com/watch?v=HPJKxAhLw5I Planting 20,000,000 trees, my biggest project ever!]
|-
|Features product from another content creator
|[https://www.youtube.com/watch?v=WJnrMNCahxc Testing another YouTuber's thermal compound]
|-
|Entire video is selfpromo for merch
|[https://www.youtube.com/watch?v=its69TzX6Iw What's in the Winter Box]
|-
|Entire video is selfpromo for merch
|[https://www.youtube.com/watch?v=OBSjWtHvYcc I got hacked]
|-
! colspan="2" |Negative Examples
|-
|While it is a product showcase, they were not sponsored and the affiliate links are from Amazon and Newegg
|[https://www.youtube.com/watch?v=hflXH4LPVqM This product will pay for itself - Streamlocator]
|}
[[Category:Segment Types]]
0myv0mqbn4e8lfphv2l2mpqz3d95z25
Exclusive Access
0
88
3325
951
2023-11-03T19:40:04Z
MiniBomba
144
Add categories
3325
wikitext
text/x-wiki
#REDIRECT [[Full_Video_Labels#Exclusive_Access]]
[[Category:Segment Categories]]
swbio6eo106w21ogvc2fw5aw0y5h5wz
Automating Submissions
0
104
3299
863
2023-11-03T19:24:23Z
MiniBomba
144
Add categories
3299
wikitext
text/x-wiki
Do NOT submit segments if there is an existing segment that is good. If you are found to be automating segment submissions, you will be warned and/or banned.
You can use timings provided from automated tools but you MUST manually review & preview them.
=== ML/ AI Segments ===
While there are multiple ML/ AI Projects based around SponsorBlock (https://github.com/xenova/sponsorblock-ml and https://github.com/andrewzlee/NeuralBlock), Automating submissions is strongly discouraged. While these models are accurate to the transcriptions, they are not trained to include frame buffers, transitions or segues and often include too much.
=== Repeating/ Consistent Timings ===
Personally, I have made segments for playlists and for channels and made similarly timed segments but the consistency and accuracy of "repeating" intros doesn't account for early fade-ins, interruptions or changes in styling over the year(s). 90% accuracy for 90% of videos isn't good enough.
[[Category:Guidelines]]
bz5t5abdjfgln8kbjjf499nxgzc36wk
File:Vipui-popup.png
6
105
871
2022-01-29T02:44:24Z
Mchangrh
7
871
wikitext
text/x-wiki
VIP UI for popup
dc5ltizreqy8zkg7kh5ljtl4h1vev1v
2022-01-29T02:44:23Z
Mchangrh
7
Vipui-popup.png
https://wiki.sponsor.ajay.app/images/6/6e/Vipui-popup.png
11390
4io9ygt70akqxg6jyxlzf9k5ea255uz
6/6e/Vipui-popup.png
File:Vip-ui-category-dropdown.png
6
106
873
2022-01-29T03:16:10Z
Mchangrh
7
873
wikitext
text/x-wiki
VIP UI locked category dropdown
hg7voi0n20fsyvgltenenahzueaz2dv
2022-01-29T03:16:10Z
Mchangrh
7
Vip-ui-category-dropdown.png
https://wiki.sponsor.ajay.app/images/8/83/Vip-ui-category-dropdown.png
10248
0b940yxaezqc4immt23i34nxv1yxkrn
8/83/Vip-ui-category-dropdown.png
Filler Tangent
0
108
887
2022-02-07T23:40:39Z
Mchangrh
7
Mchangrh moved page [[Filler Tangent]] to [[Filler Tangent/Jokes]]: Changing name to make it less popular
887
wikitext
text/x-wiki
#REDIRECT [[Filler Tangent/Jokes]]
n935f0tim9h51trdhl4srtickw97pq4
Sponsor-Exclusive Access
0
109
898
897
2022-02-18T06:55:24Z
Ajay
1
898
wikitext
text/x-wiki
=== Examples ===
==== Linus Tech Tips ====
If they link to manufacturer with a referral: [[Sponsor]]
Otherwise: [[Full Video Labels|Exclusive Access]]
[http://web.archive.org/web/20220218062216/https://form.jotform.com/220245385282252 Info about produce links]
GeniusLink: Seems to be used for tracking
Narrativ: Seems to be used to choose the best marketplace (Amazon, Bestbuy, Newegg)
[https://discord.com/channels/603643120093233162/603643180663177220/944119756594753587 More Narrativ]
Kit.co (Owned by GeniusLink): Used for lists of products with affiliate links
0w6huiy5pkvj0i9wycktckopmwxv0u4
User:Gabriel434
2
113
949
945
2022-04-03T15:36:10Z
Gabriel434
102
Contact information update
949
wikitext
text/x-wiki
Hi, I am [https://sb.ltn.fi/userid/86bb67215ced18e97d7ff1d072d7e7eceef1eb30401b6d96e3937508f7e752c9/ Gabriel434].
I am a VIP user since approximately [https://discord.com/channels/603643120093233162/954688752905781298/956351620646572084 Thursday, March 24, 2022 at 00:39:00 UTC].
'''Telegram:''' [https://t.me/Gabriel434 t.me/Gabriel434]
'''Email:''' [mailto:Gabriel4340+sbwiki@pm.me Gabriel4340@pm.me]
'''Discord:''' Gabriel434#8695
hy8cohjierxqxb2s8yydlm1bop1ioww
Self promo
0
119
950
2022-04-04T14:23:00Z
TheJzoli
6
Redirected page to [[Unpaid/Self Promotion]]
950
wikitext
text/x-wiki
#REDIRECT [[Unpaid/Self Promotion]]
8hv7qkwcrpabdcl05b7ske8zngs7yrz
User:MiniBomba
2
124
960
2022-04-16T20:34:40Z
MiniBomba
144
user page
960
wikitext
text/x-wiki
Helo there.
I'm a [http://sponsorblock.vip/bomba SponsorBlock VIP] and I sometimes [https://github.com/mini-bomba contribute some code] to this project and 3rd party projects.
inz5p2j0fypl2r86agt5xs6995z401y
Testing
0
131
3344
3254
2023-11-03T19:49:47Z
MiniBomba
144
Add categories
3344
wikitext
text/x-wiki
blab's testing suite
== Helpful Bookmarks ==
Force Mobile
[http://m.youtube.com/?persist_app=1&app=m http://m.youtube.com/?app=m&persist_app=1]
Force Desktop
https://youtube.com/?app=desktop&persist_app=1
== Test Case Videos ==
Video with consistent pre-roll ads
https://www.youtube.com/watch?v=0-L5EMXBkqo
YouTube Clip
https://www.youtube.com/clip/UgkxeLPGsmKnMdm46DGml_4wd2dpAOIFJ65l
Playlist with intros on every video
https://www.youtube.com/playlist?list=PLAbMhAYRuCUhawCEV2oXZGrienoKTN16X
Channel Trailers:
You have to not be subscribed to a channel to see channel trailers
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">Channels I like that have extremely low subscriber counts & you are unlikely to be subscribed to</div>
<div class="mw-collapsible-content">
https://www.youtube.com/c/Hummeldon
https://www.youtube.com/c/KidLeavesStoop
</div></div>Anchor as t=:
https://www.youtube.com/watch?v=dQw4w9WgXcQ#t=0m10s
==== Embedded playlists ====
/videoseries/
https://www.youtube.com/embed/videoseries?list=PL8mG-RkN2uTw1QQc6K3Z-eOhvZ31diUh8
/playlist
https://www.youtube.com/embed/playlist?list=PL8mG-RkN2uTw1QQc6K3Z-eOhvZ31diUh8
/watch?video= &list
https://www.youtube.com/watch?v=buLjE-szDTQ&list=PL8mG-RkN2uTw1QQc6K3Z-eOhvZ31diUh8
/videoid ?list
https://www.youtube.com/embed/buLjE-szDTQ?list=PL8mG-RkN2uTw1QQc6K3Z-eOhvZ31diUh8
==== Embedded Videos ====
https://www.youtube.com/embed/aLXiLRuCqvE?wmode=transparent&rel=0&autohide=1&showinfo=1&fs=1&enablejsapi=0&theme=light
[https://developers.google.com/youtube/player_parameters#Parameters List of embed parameters]
=== Glitched Video Duration ===
https://sb.ltn.fi/video/CLJEIvsY9Qs/ Duration displayed in search results 1:26; Duration in player 0:08.481
=== Glitched Preview Bar ===
https://sb.ltn.fi/video/04aNA5rLXEk/ For example see the preview vs the actual video shortly before the Self Promo segment starting at 1:00:14
=== Post-Upload Video Edit ===
https://sb.ltn.fi/video/THxkY59_xko/
{| class="wikitable"
|+
!version
!duration
!approx time
|-
|original
|0:16:18.28
|2022-10-11 12:59:59 - 2022-10-13 02:19:04
|-
|first edit
|0:16:18.30
|2022-10-14 17:48:04 -
|-
|second spotted edit
|16:18.281
|2022-12-11 21:09:57 -
|}
== Test Users ==
Test User
[https://sb.ltn.fi/userid/950e09c3ca8360b6c5ad0d6bc3ab3ac6d79b9111b91e250ce7b53ea022504e0c/ 950e09c3ca8360b6c5ad0d6bc3ab3ac6d79b9111b91e250ce7b53ea022504e0c]
Test Segment
[https://sb.ltn.fi/uuid/8f411c15023c5734b16cccda230ace4082f8d197111d1c0d0b4a8512bac92d336/ 8f411c15023c5734b16cccda230ace4082f8d197111d1c0d0b4a8512bac92d336]
(This was originally the user + segment for the sb-status server to test response time of votes)
== Videos For Testing ==
Private Test video by mchangrh
https://www.youtube.com/watch?v=ZuibAax0VD8
== Demo Videos ==
Nanobyte's test video with pre-segmented skips
https://www.youtube.com/watch?v=aLXiLRuCqvE
== Interesting Cases of Videos ==
Video with the most locked unique segments
283 https://sb.ltn.fi/video/CBfGIR0NqCE
182 https://sb.ltn.fi/video/E7MQb9Y4FAE
93 https://sb.ltn.fi/video/fbN56V9qAOg/
92 https://sb.ltn.fi/video/HCXQzLbDrgs/
71 https://sb.ltn.fi/video/U5YOjLdfRZA/
68 https://sb.ltn.fi/video/xj6GikPbhdQ/
67 https://sb.ltn.fi/video/sl61lHwo3YE
67 https://sb.ltn.fi/video/pYlub3EIqeU
55 https://sb.ltn.fi/video/ybFdiA5B68Q/
54 https://sb.ltn.fi/video/0nHL9IkdmQk
52 https://sb.ltn.fi/video/qwLtPuBni0I
43 https://sb.ltn.fi/video/Vxwx5VflRN4
42 https://sb.ltn.fi/video/2x3VsHpvFC4
41 https://sb.ltn.fi/video/4nJUuNx800U
34 https://sb.ltn.fi/video/lS41XvrBFvU
34 https://sb.ltn.fi/video/a5YAGYyuA0U
Videos with the most submissions
494 https://sb.ltn.fi/video/mIB389tqzCI
382 https://sb.ltn.fi/video/0hMdQAjy43A
368 https://sb.ltn.fi/video/Hk2E1Tunoc8
362 https://sb.ltn.fi/video/Gc3IAEwxVN4
303 https://sb.ltn.fi/video/CBfGIR0NqCE/
303 https://sb.ltn.fi/video/JIxP2fG8EsY
299 https://sb.ltn.fi/video/aS3-iSEwNhs
243 https://sb.ltn.fi/video/oakWgLqCwUc
228 https://sb.ltn.fi/video/bTS0ybQ3lCI
222 https://sb.ltn.fi/video/TQ3I9aRHBPw
221 https://sb.ltn.fi/video/dAhnNu9cCis
219 https://sb.ltn.fi/video/YuRYaTVSuhs
208 https://sb.ltn.fi/video/CHYzu3q0sTM
[[Category:Developer Reference]]
1vhg2lkwyl5nd7famozmtf0ivz825uk
Logical Replication
0
133
3334
3001
2023-11-03T19:43:55Z
MiniBomba
144
Add categories
3334
wikitext
text/x-wiki
=== On the host server ===
Modify postgresql.conf to be ready for logical replication
wal_level=logical
max_wal_senders=16
max_sync_workers_per_subscription=16
max_logical_replication_workers=20
Setup a replication user
CREATE ROLE repl WITH
NOSUPERUSER
NOCREATEDB
NOCREATEROLE
INHERIT
LOGIN
REPLICATION
BYPASSRLS
CONNECTION LIMIT -1
PASSWORD 'SOME SECURE PASSWORD';
Then, on all databases you want to sync, grant select permissions
grant select on all tables in schema public to repl
Next, create a publication on each database
CREATE PUBLICATION publication_name FOR ALL TABLES;
It's possible to increase replication slots by editing postgresql.conf with
max_replication_slots=20
=== On the target server ===
Modify postgresql config to speed up replication
max_wal_senders=16
max_sync_workers_per_subscription=16
max_logical_replication_workers=20
Ensure schema has been fully copied already, but no data has been copied
Then, create a subscription on each database
CREATE SUBSCRIPTION publication_name
CONNECTION 'host=<IP Addres> port=<PORT> user=repl password=<PASSWORD> dbname=<DB NAME>'
PUBLICATION publication_name;
Make sure to check logs when doing this to ensure there aren't permissions errors.
[[Category:Developer Reference]]
q0mhge6r6kg3c0jdoyy386jxc8dja6w
Guides
0
135
3330
997
2023-11-03T19:42:44Z
MiniBomba
144
Add categories
3330
wikitext
text/x-wiki
=== [[Advice for submitting|Advice for Submitting]] - General guidelines for submitting ===
=== [[VIP Guide]] - Basic guide for VIPs ===
=== [[Mute Segment#Tips for submitting|Mute Segments]] - Tips for submitting mute segments ===
[[Category:SponsorBlock User Guides| ]]
d1ciqtlusqrb4je7bts7wd95o0qze85
Disclosure
0
138
3323
3028
2023-11-03T19:39:19Z
MiniBomba
144
Add categories
3323
wikitext
text/x-wiki
Disclosure is when a video mentions that an entire video is sponsored by some company, and includes any descriptions of how this has affected the video
{| class="wikitable"
|+Disclosure Examples
!Description
!Video Link
|-
! colspan="2" |Disclosure matters
|-
|AMD sponsored the video and its products are featured
|[https://youtu.be/RxjRyN-4VdI?t=10 Linus Tech Tips - AMD Says You’re Doing it Wrong.]
|-
|Anker sponsored the showcase about its product
|[https://youtu.be/MRah3JnOdrI?t=8 ShortCircuit - Anker 757 PowerHouse]
|-
! colspan="2" |Disclosure does not matter
|-
|SquareSpace's sponsorship is completely irrelevant to the content
|[https://youtu.be/Cyii64t7HGA?t=1 Found And Explained - YF-12]
|-
|MicroCenter's sponsorship is completely irrelevant to the content
|[https://youtu.be/UgHTehCBLMg?t=1 nerdSlayer - Death of a Game: Battlefield 2042]
|}
[[Category:Dictionary]]
ab0e4gnr96s2fb5wfh3r0fv7djlxrl5
Sbltnfi is down
0
144
3341
3183
2023-11-03T19:46:22Z
MiniBomba
144
Add categories
3341
wikitext
text/x-wiki
=== I still prefer the sb.ltn.fi interface ===
[https://gist.github.com/TheJzoli/8a4cd979d433b7359cdf61c238bc0181/raw/sb.ltn.fi.forceupdate.user.js TheJzoli's <code>forceupdate</code> userscript]
[https://gist.github.com/mchangrh/9507604353e37b6abc2f7f6b3c6e1338/raw/sbltnfi-refresh.user.js or blab's refresh segment userscript for single segments]
=== I don't mind another interface ===
[https://mruy.github.io/sponsorBlockControl-sveltekit/browse/ SponsorBlockControl-sveltekit]
sb-slash discord bot <code>/searchSegments</code>
=== I want a programmatic API ===
[https://wiki.sponsor.ajay.app/w/API_Docs#GET_/api/searchSegments /api/searchSegments]
[[Category:SponsorBlock User Guides]]
8vnnhpj6j9b74qegoojfdu772nxta79
Template:Disclaimers
10
153
3370
1040
2023-11-04T08:04:25Z
Mchangrh
7
Add content warnings under disclaimers https://discord.com/channels/603643120093233162/1167170040198606878
3370
wikitext
text/x-wiki
*Disclaimers that are there to protect the viewer
**Spoiler warnings
**Content warnings
**Photosensitive warnings
**Anti-harassment disclaimers
**Content Ratings (Film, TV, Video Games)
11qmtacqtrgeg0oq9sk3hoz85uog7jh
User:Spammer
2
1870
2976
2975
2022-09-12T22:32:06Z
Mchangrh
7
Protected "[[User:Spammer]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
2975
wikitext
text/x-wiki
This is a placeholder account that was used to merge spam users into.
3p1h770rij9zml703b5uragare5ypfi
File:SB Flowchart small 1.10.1.png
6
1872
2996
2022-10-08T02:05:01Z
E.Coli
8
2996
wikitext
text/x-wiki
Flow chart to help users choose the correct category when making submissions.
o9ovrt785icjjai3x666qf4vanedv9f
2022-10-08T02:05:01Z
E.Coli
8
SB_Flowchart_small_1.10.1.png
https://wiki.sponsor.ajay.app/images/7/76/SB_Flowchart_small_1.10.1.png
1557512
t915u3uz4i5ctjqho0o0cge68c2rx0x
7/76/SB_Flowchart_small_1.10.1.png
User:Omega Beam
2
1874
3016
2022-12-18T23:10:07Z
Omega Beam
1392
Created page with "Hey there, i'm a [https://sb.ltn.fi/userid/6e5bfb58faae4b41d0026905d37370fe6495083c1c4f90eb1cd3b68e78d70498/ sponsorblock VIP] and I like to save time and help."
3016
wikitext
text/x-wiki
Hey there, i'm a [https://sb.ltn.fi/userid/6e5bfb58faae4b41d0026905d37370fe6495083c1c4f90eb1cd3b68e78d70498/ sponsorblock VIP] and I like to save time and help.
f07u2ovq9cs3h0bfhvsmcdsad4w5ysh
File:Yes.png
6
1875
3025
2023-01-14T22:15:39Z
Cane
5
3025
wikitext
text/x-wiki
yes
tce65b40qrxnwi6ve7dmpojg26yxhhs
2023-01-14T22:15:39Z
Cane
5
Yes.png
https://wiki.sponsor.ajay.app/images/7/77/Yes.png
15919
l68exysjxlnu751csbaat461d9d6rum
7/77/Yes.png
User:Cane
2
1876
3027
3026
2023-01-14T22:16:56Z
Cane
5
3027
wikitext
text/x-wiki
[[File:Yes.png|thumb|left]]
bw902g6elwk5fshj9et5plnk2aser38
MediaWiki:Minerva.css
8
1877
3036
3035
2023-01-31T21:28:23Z
Mchangrh
7
Blanked the page
3036
css
text/css
phoiac9h4m842xq45sp7s6u21eteeq1
MediaWiki:Mobile.css
8
1878
3215
3038
2023-09-23T23:18:44Z
Mchangrh
7
Update to v3.7.5
3215
css
text/css
/* All CSS here will be loaded for users of the mobile site */
/* https://github.com/StylishThemes/Wikipedia-Dark/ v3.7.5 */
/* Global color palette */
:root {
--base-color: /*[[base-color]]*/;
--base-color-rgb: /*[[base-color-rgb]]*/;
--base-color-rgba-3: rgba(var(--base-color-rgb), 3);
--base-color-rgba-8: rgba(var(--base-color-rgb), 8);
--tab-color: /*[[tab-color]]*/;
--visited-color: /*[[visited-color]]*/;
--bg-custom: /*[[bg-custom]]*/;
--bg-selected: /*[[bg-selected]]*/;
--bg-attachment: /*[[bg-attachment]]*/;
/* base palette */
--black: #000;
--gray-1: #111;
--gray-2: #222;
--gray-3: #333;
--gray-4: #444;
--gray-5: #555;
--gray-7: #777;
--gray-a: #aaa;
--gray-c: #ccc;
--gray-d: #ddd;
--gray-e: #eee;
--white: #fff;
--gray-18: #181818;
--gray-28: #282828;
--gray-2f: #2f4f4f;
--gray-69: #696969;
--gray-9a: #9a9a9a;
--gray-b9: #b9b9b9;
--gray-bc: #bcbcbc;
--blue: #00f;
--blue-1: #36c;
--blue-2: #182030;
--blue-3: #212c43;
--blue-4: #3c5487;
--red: #f00;
--red-0: #400;
--red-1: #c22;
--red-2: #d33;
--red-3: #722;
--red-rgb: rgba(119, 34, 34, .4);
--red-4: #ff4242;
--green: #0f0;
--green-1: #390;
--green-2: #165316;
--green-3: #061;
--green-4: #002800;
--brown-1: #321;
--brown-2: #542;
--brown-3: #261d08;
--brown-4: #4b380d;
--yellow-1: #b28200;
--yellow-2: #ffdd7f;
--orange-1: #e53e00;
--orange-2: #e08b26;
--orange-3: #4d2b01;
--purple-d: #241738;
--purple-0: #312641;
--purple-1: #382b4a;
--purple-2: #768;
--pink-0: #3e243c;
--pink-1: #6b3e68;
--pink-2: #965691;
--pink-3: #ffbefa;
--cyan-1: #194d41;
--ores-1: #222800;
--ores-2: #222000;
--ores-3: #221800;
--black_17: rgba(0, 0, 0, .175);
--black_2: rgba(0, 0, 0, .2);
--black_25: rgba(0, 0, 0, .25);
--black_5: rgba(0, 0, 0, .5);
--black_8: rgba(0, 0, 0, .8);
--gray-2_75: rgba(34, 34, 34, .75);
--gray-3_5: rgba(51, 51, 51, .5);
--gray-5_25: rgba(85, 85, 85, .25);
--gray-6_5: rgba(100, 100, 100, .5);
--white_1: rgba(255, 255, 255, .1);
--white_25: rgba(255, 255, 255, .25);
--diff-del: #c22;
--diff-add: #36c;
--revs-old: #b28200;
--revs-new: #070;
/* assessment colors */
--assess-1: #06c;
--assess-2: #29c;
--assess-3: #070;
--assess-4: #6b0;
--assess-5: #993;
--assess-6: #b60;
--assess-7: #921; /* was #901 */
--assess-8: #85f;
--assess-9: #070;
--assess-10: #0b6;
--assess-11: #a4c;
--assess-12: #568;
/* meta wiki */
--green-a0: #2f4500;
--green-a1: #27560f;
--green-a2: #016101;
--green-a3: #305229;
--green-a4: #50612b;
--green-a5: #676702;
--bluei-a0: #014523;
--bluei-a1: #004e4e;
--bluei-a2: #05493b;
--bluei-a3: #1b3a2a;
/* WD query service */
--cm-0: #141414;
--cm-1: #27282e;
--cm-2: #f9ee98;
--cm-3: #fc0;
--cm-4: #ca7841;
--cm-5: #8da6ce;
--cm-6: #607392;
--cm-7: #cda869;
--cm-8: #8f9d6a;
--cm-9: #bd6b18;
--cm-10: #f7f7f7;
--cm-11: #997643;
--cm-12: #d6bb6d;
--cm-13: #ff6400;
--cm-14: #aeaeae;
--cm-15: #ad9361;
/* Browser specifics */
scrollbar-color: #7779 #111111a3; /* firefox scrollbars */
color-scheme: dark; /* chrome scrollbars */
}
.cm-comment,
.cm-link {
font-style: italic;
}
.CodeMirror {
background: var(--gray-18);
}
.CodeMirror-gutters {
background: var(--gray-2);
border-right: 1px solid var(--gray-4);
}
.CodeMirror-guttermarker {
color: var(--white);
}
.CodeMirror-guttermarker-subtle,
.CodeMirror-linenumber {
color: var(--gray-a);
}
.CodeMirror-cursor {
border-left: 2px solid var(--white);
}
.CodeMirror-activeline-background {
background: var(--cm-1);
}
.CodeMirror-matchingbracket {
outline: 1px solid var(--gray);
color: var(--white);
}
.CodeMirror-line::selection,
.CodeMirror-line > span::selection,
.CodeMirror-line > span > span::selection {
background: var(--cm-1);
}
.cm-keyword {
color: var(--cm-2);
}
.cm-atom {
color: var(--cm-3);
}
.cm-number {
color: var(--cm-4);
}
.cm-def,
.cm-mw-section-header,
.cm-mw-link-pagename,
.cm-mw-link-bracket,
.cm-mw-link-delimiter,
.cm-mw-indenting,
.cm-mw-extlink-bracket,
.cm-mw-list,
.cm-mw-apostrophes-bold,
.cm-mw-apostrophes-italic,
.cm-mw-link-tosection {
color: var(--cm-5);
}
.cm-mw-skipformatting {
background-color: var(--cm-6);
}
span.cm-def,
span.cm-tag,
.cm-variable-2,
.cm-variable-3,
.cm-mw-extlink-protocol,
.cm-mw-free-extlink-protocol,
.cm-mw-extlink,
.cm-mw-free-extlink {
color: var(--cm-6);
}
.cm-builtin,
.cm-operator {
color: var(--cm-7);
}
.cm-comment {
color: var(--gray-7);
font-weight: 400;
}
.cm-string,
.cm-mw-htmltag-name,
.cm-mw-htmltag-bracket,
.cm-mw-exttag-name,
.cm-mw-exttag-bracket,
.cm-mw-htmltag-attribute,
.cm-mw-exttag-attribute,
.cm-mw-mnemonic {
color: var(--cm-8);
}
.cm-string-2 {
color: var(--cm-9);
}
.cm-meta {
background-color: var(--gray-18);
color: var(--cm-10);
}
.cm-tag {
color: var(--cm-11);
}
.cm-attribute {
color: var(--cm-12);
}
.cm-header,
.cm-mw-table-bracket,
.cm-mw-table-definition,
.cm-mw-table-delimiter {
color: var(--cm-13);
}
.cm-hr {
color: var(--cm-14);
}
.cm-link {
color: var(--cm-15);
text-decoration: none;
}
.cm-error {
border-bottom: 1px solid var(--red);
}
.cm-mw-template-name,
.cm-mw-template-bracket,
.cm-mw-template,
.cm-mw-template-argument-name,
.cm-mw-template-delimiter {
color: var(--cm-10);
}
/*# sourceURL=ace/css/ace-tm */
.ace-tm .ace_gutter {
background: var(--cm-1);
color: var(--cm-10);
}
.ace-tm .ace_print-margin {
background: var(--cm-1);
}
.ace-tm .ace_fold {
background-color: var(--cm-6);
}
.ace-tm {
background-color: var(--cm-0);
color: var(--cm-10);
}
.ace-tm .ace_cursor {
color: var(--cm-10);
}
.ace-tm .ace_invisible {
color: var(--cm-10);
}
.ace-tm .ace_storage,
.ace-tm .ace_keyword {
color: var(--cm-5);
}
.ace-tm .ace_constant {
color: var(--cm-13);
}
.ace-tm .ace_constant.ace_buildin {
color: var(--cm-14);
}
.ace-tm .ace_constant.ace_language {
color: var(--cm-14);
}
.ace-tm .ace_constant.ace_library {
color: var(--cm-8);
}
.ace-tm .ace_invalid {
background-color: rgba(255, 0, 0, .1);
color: var(--cm-13);
}
.ace-tm .ace_support.ace_function {
color: var(--cm-5);
}
.ace-tm .ace_support.ace_constant {
color: var(--cm-8);
}
.ace-tm .ace_support.ace_type,
.ace-tm .ace_support.ace_class {
color: var(--cm-14);
}
.ace-tm .ace_keyword.ace_operator {
color: var(--cm-14);
}
.ace-tm .ace_string {
color: var(--cm-8);
}
.ace-tm .ace_comment {
color: var(--cm-14);
}
.ace-tm .ace_comment.ace_doc {
color: var(--cm-5);
}
.ace-tm .ace_comment.ace_doc.ace_tag {
color: var(--cm-14);
}
.ace-tm .ace_constant.ace_numeric {
color: var(--cm-5);
}
.ace-tm .ace_variable {
color: var(--cm-12);
}
.ace-tm .ace_xml-pe {
color: var(--cm-11);
}
.ace-tm .ace_entity.ace_name.ace_function {
color: var(--cm-5);
}
.ace-tm .ace_heading {
color: var(--cm-5);
}
.ace-tm .ace_list {
color: var(--cm-13);
}
.ace-tm .ace_meta.ace_tag {
color: var(--cm-6);
}
.ace-tm .ace_string.ace_regex {
color: var(--cm-13);
}
.ace-tm .ace_marker-layer .ace_selection {
background: var(--cm-1);
}
.ace-tm.ace_multiselect .ace_selection.ace_start {
box-shadow: 0 0 3px 0 var(--cm-10);
}
.ace-tm .ace_marker-layer .ace_step {
background: var(--cm-3);
}
.ace-tm .ace_marker-layer .ace_stack {
background: var(--cm-2);
}
.ace-tm .ace_marker-layer .ace_bracket {
border: 1px solid var(--cm-14);
}
.ace-tm .ace_marker-layer .ace_active-line {
background: rgba(0, 0, 0, .07);
}
.ace-tm .ace_gutter-active-line {
background-color: var(--gray-3);
}
.ace-tm .ace_marker-layer .ace_selected-word {
background: var(--gray-3);
border: 1px solid var(--cm-11);
}
.ace-tm .ace_indent-guide {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
}
.ve-ui-mwAceEditorWidget .ace_editor {
border-color: var(--cm-6);
}
body {
background-color: var(--gray-2);
background-image: var(--bg-selected);
background-clip: border-box;
background-origin: padding-box;
background-attachment: var(--bg-attachment);
/*[[bg-options]]*/
color: var(--gray-c);
}
/*** main page ***/
#mw-mf-page-left ul li a:hover {
box-shadow: inset 4px 0 0 0 var(--base-color);
}
#mw-mf-page-left ul.hlist li a {
color: var(--base-color);
}
footer > .post-content > h2 > img[src*="wikipedia-wordmark"],
.header .branding-box a img[src*="wikipedia-wordmark"],
.branding-box img[src*="wikipedia-wordmark"] {
filter: invert(1) !important;
}
.mw-parser-output #mp-topbanner {
border-color: var(--gray-5);
background-color: var(--gray-2);
}
.mw-parser-output #mp-topbanner,
.mw-parser-output .mp-h2,
.mw-parser-output #mp-left {
color: var(--gray-c);
}
.mw-parser-output #mp-right {
border-color: var(--blue-1);
background: var(--blue-2);
}
.mw-parser-output #mp-right .mp-h2 {
border-color: var(--blue-1);
}
.mw-parser-output #mp-left {
border-color: var(--green-1);
background: var(--green-4);
}
.mw-parser-output #mp-left .mp-h2 {
border-color: var(--green-1);
}
.mw-parser-output #mp-middle {
border-color: var(--pink-2);
background: var(--pink-0);
}
.mw-parser-output #mp-tfl-h2 {
border-color: var(--pink-2);
}
.mw-parser-output #mp-lower {
border-color: var(--purple-2);
background: var(--purple-d);
}
.mw-parser-output #mp-tfp-h2 {
border-color: var(--purple-2);
}
.mw-parser-output #mp-other-lower {
border-color: var(--gray-5);
}
.mw-parser-output #mp-other-lower .mp-h2 {
background: var(--gray-28);
border-color: var(--gray-5);
}
.mw-parser-output .quotebox {
background: var(--gray-2);
}
#mp-middle p,
#mp-other-lower p {
color: var(--gray-c);
}
#mp-left h2,
#mp-left h2 span {
background: var(--green-2) !important;
color: var(--gray-d) !important;
}
#mp-right h2,
#mp-right h2 span {
background-color: var(--blue-3) !important;
}
#mp-center #mp-tfl-h2,
#mp-center #mp-tfl-h2 span {
background-color: var(--pink-1) !important;
color: var(--gray-d) !important;
}
#mp-lower #mp-bottom h2,
#mp-bottom h2 span {
background-color: var(--purple-1) !important;
}
.mw-parser-output .itn-special {
background-color: var(--blue-3);
border-color: var(--blue-4);
}
.lazy-image-placeholder {
background-color: var(--gray-28);
}
/* Search */
.client-nojs .search-box .search:focus,
.search-overlay .search-box .search:focus {
border-color: var(--base-color);
}
.page-list li > a:active,
.topic-title-list li > a:active,
.site-link-list li > a:active,
.page-list li > a:hover,
.topic-title-list li > a:hover,
.site-link-list li > a:hover {
color: var(--gray-c);
}
.page-list li > a:visited,
.topic-title-list li > a:visited,
.site-link-list li > a:visited {
color: var(--visited-color);
}
.overlay.search-overlay .results,
.overlay.search-overlay .search-feedback {
background-color: var(--gray-28) !important;
}
/* Login */
.warningbox,
.mw-revision {
background-color: var(--gray-18);
border: 1px solid var(--gray-4);
}
.errorbox,
.warningbox,
.successbox,
.mw-revision {
color: var(--gray-a);
}
.mw-ui-checkbox:not(#noop) [type="checkbox"]:enabled:checked + label::before,
.mw-ui-checkbox:not(#noop) [type="checkbox"]:hover:enabled:checked + label::before {
background-color: var(--base-color);
border-color: var(--base-color);
}
.mw-ui-checkbox:not(#noop) [type="checkbox"]:hover:enabled + label::before {
border-color: var(--base-color);
}
.mw-ui-button.mw-ui-progressive {
background-color: var(--base-color);
color: var(--gray-e);
border: 1px solid var(--base-color);
}
.mw-ui-checkbox:not(#noop) [type="checkbox"] + label::before {
background-color: var(--gray-1);
border: 1px solid var(--gray-5);
}
.mw-ui-button.mw-ui-progressive:hover {
background-color: var(--base-color-rgba-8);
border-color: var(--base-color-rgba-8);
}
.mw-ui-button.mw-ui-progressive:active,
.mw-ui-button.mw-ui-progressive.is-on {
background-color: var(--base-color-rgba-8);
border-color: var(--base-color-rgba-8);
color: var(--gray-e);
}
.mw-ui-button:hover {
background-color: var(--gray-4);
border-color: var(--gray-5);
color: var(--gray-e);
}
.mw-ui-input:focus {
border-color: var(--base-color);
box-shadow: inset 0 0 0 1px var(--base-color);
}
/* footer */
footer > .post-content > h2,
.mw-footer > .post-content > h2 {
border-color: var(--gray-5);
}
/* Icon fixes */
footer > .post-content > h2 > img,
.header-container button.mw-ui-icon,
.header-container label.mw-ui-icon,
.mw-ui-icon-wikimedia-bellOutline-base20,
.mw-ui-icon-minerva-mainmenu,
.mw-ui-icon-before::before {
filter: brightness(200%);
}
.mw-editsection a.mw-ui-icon::before,
.page-actions-menu__list-item .mw-ui-icon-element,
.minerva-user-menu ul li a.mw-ui-icon::before,
.header .branding-box h1 img,
.header .branding-box a img,
#mw-mf-page-left ul li a.mw-ui-icon::before,
#page-actions-overflow ul li a.mw-ui-icon::before {
filter: brightness(150%);
}
#page-actions .mw-show-on-map {
filter: invert(100%);
}
.mw-ui-icon-mf-user::before {
filter: invert(100%) brightness(300%);
}
.oo-ui-icon-funnel,
.mw-ui-icon-funnel::before,
.oo-ui-icon-wikiText,
.mw-ui-icon-wikiText::before,
.oo-ui-icon-close,
.mw-ui-icon-close::before,
.oo-ui-icon-edit,
.mw-ui-icon-edit::before,
.oo-ui-icon-eye,
.mw-ui-icon-eye::before,
.mw-ui-icon-mf-arrow:before,
.oo-ui-icon-settings,
.mw-ui-icon-settings::before,
.oo-ui-indicator-down,
.oo-ui-decoratedOptionWidget.oo-ui-widget-enabled .oo-ui-iconElement-icon,
.oo-ui-decoratedOptionWidget.oo-ui-widget-enabled .oo-ui-indicatorElement-indicator,
.oo-ui-buttonElement.oo-ui-iconElement .oo-ui-iconElement-icon,
.oo-ui-buttonElement.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator,
.client-js .mw-echo-special-nojs,
.mwe-math-fallback-image-inline,
.oo-ui-icon-check,
.mw-ui-icon-check:before,
.uls-search-label,
.central-textlogo a > img {
filter: invert(80%);
}
img[src*="61px-Gnome-dialog-question.svg"] {
filter: invert(1) hue-rotate(180deg) contrast(111%) brightness(150%);
}
#helpdeskheader[style*="border: 1px solid #ccc; background-color: #f9f9f9;"],
#villagepumpheader[style*="border:1px solid #AAA;background:#F9F9F9"] {
border: 1px solid var(--gray-5) !important;
background: none !important;
}
.oo-ui-image-progressive.oo-ui-icon-eye,
.mw-ui-icon-eye-progressive::before,
.oo-ui-image-progressive.oo-ui-icon-edit,
.mw-ui-icon-edit-progressive::before {
filter: invert(0);
}
/* Background fixes */
/* survey */
.ext-quick-survey-panel,
.ext-qs-loader-bar {
background-color: var(--gray-2);
}
.minerva--amc-enabled.action-history .mw-history-compareselectedversions,
.ns-special .pre-content,
.ns-special #content form {
background-color: transparent;
}
.client-js .ambox .ambox-learn-more::before,
.ext-related-articles-card-list h3::after,
.overlay-enabled,
#mw-mf-page-center,
#content {
background: none;
}
.mw-rcfilters-ui-filterTagMultiselectWidget-mobile .oo-ui-tagMultiselectWidget-input.oo-ui-textInputWidget input[readonly] {
background-color: var(--gray-1);
}
table.wikitable tr,
.overlay,
.overlay.search-overlay,
.language-overlay .overlay-content,
.language-searcher .site-link-list li,
.language-searcher .panel,
.mw-rollback-link,
.mw-tag-marker,
.mw-rcfilters-ui-filterMenuSectionOptionWidget,
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagMultiselectWidget-handle,
.ext-related-articles-card-list .ext-related-articles-card-thumb,
.ext-related-articles-card-list .ext-related-articles-card,
.image-details,
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover,
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled,
.mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover,
.navigation-enabled #mw-mf-page-center,
.action-history .mw-history-compareselectedversions,
.catlinks,
#mw-mf-page-left,
#mw-mf-diffview #mw-mf-userinfo {
background-color: var(--gray-2);
}
.content table.infobox *[style*="background"] {
background-color: var(--gray-2) !important;
}
tr[bgcolor],
td[bgcolor] {
background-color: var(--gray-28);
}
html .thumbimage {
background-color: var(--white);
}
/* popups fixes */
.mwe-popups .mwe-popups-container {
background-color: var(--gray-2);
}
.mwe-popups .mwe-popups-container .mwe-popups-thumbnail {
background-color: var(--white);
}
.mwe-popups .mwe-popups-container a {
color: var(--gray-c);
}
.mwe-popups-extract::after {
background-image: linear-gradient(to right, transparent, var(--gray-2) 50%);
}
.mw-mmv-ttf-ellipsis::before {
background-image: linear-gradient(to right, transparent, var(--gray-2));
}
.mwe-popups .mwe-popups-extract[dir="ltr"]::after {
background-image: linear-gradient(to bottom, transparent, var(--gray-2));
}
/* these general selectorss have to go when adding not remove all */
td[style*="background"] {
background-color: var(--gray-28) !important;
}
div[style*="border-bottom:1px solid; border-bottom-color:#8B0000; background:transparent;"] {
border-bottom: 1px solid var(--red-2) !important;
background: transparent;
}
th[bgcolor],
.mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted.oo-ui-optionWidget-highlighted,
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .mw-rcfilters-ui-tagItemWidget-selected.oo-ui-tagItemWidget.oo-ui-widget-enabled,
.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled,
.oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame,
.oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle,
.wikitable > tr > th,
.wikitable > * > tr > th,
.overlay-header-container,
.overlay-footer-container,
.overlay.search-overlay .results,
.overlay.search-overlay .search-feedback,
.header-container.header-chrome,
.mw-widgets-datetime-calendarWidget,
.mw-widget-dateInputWidget-calendar,
.minoredit,
.list-header,
.oo-ui-dropdownWidget-handle,
.mw-echo-ui-notificationsInboxWidget-toolbarWrapper,
.mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected,
.oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle,
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle,
.oo-ui-menuSelectWidget {
background-color: var(--gray-3);
}
th[style*="background"],
.ombox-notice[style*="background"] {
background-color: var(--gray-3) !important;
}
td[style="background:#d7e8f9;"] {
background: var(--blue-2) !important;
}
.mw-parser-output a.external {
color: var(--base-color);
}
/* plainlinks a.external is default style and needed */
.plainlinks a.external {
background: none !important;
padding: 0 !important;
}
.mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected),
.mw-rcfilters-ui-itemMenuOptionWidget:hover,
.mw-rcfilters-ui-itemMenuOptionWidget-highlighted,
.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,
.mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-optionWidget-selected,
.oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled,
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active,
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active:focus,
.oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link,
.oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link,
.oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:active,
.mw-echo-ui-notificationItemWidget:hover,
.list-thumb.list-thumb-none,
.toggle-list-item__anchor--menu:hover,
.toggle-list-item:hover {
background-color: var(--gray-4);
}
form.mw-mf-settings #beta-field::before,
.oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover,
.oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover {
background-color: var(--gray-5);
}
.editor-overlay-ve.loading,
.overlay.overlay-loading,
.oo-ui-windowManager-modal > .oo-ui-dialog {
background-color: var(--gray-3_5);
}
/* ORES highlight fixes */
.mw-rcfilters-ui-highlights-color-none {
background-color: var(--gray-7);
}
.mw-rcfilters-ui-highlights-color-c1,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c1"]::before,
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c1,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c1 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c1.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c1.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--blue-2);
}
.mw-rcfilters-ui-highlights-color-c2,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c2"]::before,
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c2,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c2 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c2.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c2.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--cyan-1);
}
.mw-rcfilters-ui-highlights-color-c3,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c3"]::before,
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c3,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c3 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--ores-1);
}
.mw-rcfilters-ui-highlights-color-c4,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c4"]::before,
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--ores-2);
}
.mw-rcfilters-ui-highlights-color-c5,
.mw-rcfilters-ui-tagItemWidget-highlight[data-color="c5"]::before,
.mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5,
.mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5 tr:first-child,
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)),
.mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-highlight-color-c4.mw-rcfilters-highlight-color-c5.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) {
background-color: var(--ores-3);
}
/* Foreground fixes */
a,
a:not([href]),
.last-modified-bar a,
.page-summary a h2,
.page-summary a h3 {
color: var(--base-color);
}
.last-modified-bar a:visited {
color: var(--visited-color);
}
th[style*="color:#244C85;"] {
color: var(--base-color) !important;
}
.messagebox.standard-talk {
border: 1px solid var(--brown-1) !important;
background: var(--brown-1) !important;
}
a.new,
a.new:visited,
a.new:hover,
a.new > *,
a.new:visited > *,
a.new:hover > * {
color: var(--red-1);
}
.oo-ui-tagItemWidget.oo-ui-widget-enabled:hover {
color: var(--gray-7);
}
.page-list.side-list .list-thumb,
.topic-title-list.side-list .list-thumb,
.site-link-list.side-list .list-thumb,
.content figcaption,
.content .thumbcaption,
.toggle-list-item__anchor--menu:visited,
.toggle-list-item__anchor--menu:active,
.mw-rcfilters-ui-tagItemWidget-popup-content,
.mw-widget-calendarWidget-day,
#mw-mf-page-left ul li a:active:not(.secondary-action) {
color: var(--gray-9a);
}
.language-searcher .site-link-list a .autonym,
.mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title,
.mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc,
.mw-rcfilters-ui-itemMenuOptionWidget-label-desc,
.mw-rcfilters-ui-itemMenuOptionWidget-label-title,
.oo-ui-tagItemWidget.oo-ui-widget-enabled,
.mw-rcfilters-ui-tagItemWidget.oo-ui-flaggedElement-muted.oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-labelElement-label,
.mw-rcfilters-ui-savedLinksListWidget-placeholder.oo-ui-optionWidget .oo-ui-labelElement-label,
.ext-related-articles-card-list h3 a,
.category-header li a,
.oo-ui-messageDialog-message,
.oo-ui-messageDialog-title,
.page-summary h2,
.page-summary h3,
.page-list li > a,
.topic-title-list li > a,
.site-link-list li > a,
.mw-echo-ui-menuItemWidget > .oo-ui-labelElement-label,
.mw-echo-ui-notificationItemWidget-content-actions-timestamp,
.mw-echo-ui-notificationItemWidget-content-message-header,
.mw-echo-ui-notificationsListWidget:not(:hover) a,
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled select,
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button,
.oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover,
.toggle-list-item__anchor--menu,
.toggle-list-item__label,
.notifications-filter-overlay .overlay-content .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle,
.oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover,
#mw-mf-page-left ul li a,
#p-personal .mw-echo-ui-notificationsListWidget:not(:hover) a.new {
color: var(--gray-c);
}
td[class*="table-"] {
color: var(--gray-c) !important;
}
/* Border fixes */
footer > .post-content > h2,
ul.mw-contributions-list li,
ul.special li,
form.mw-mf-settings .oo-ui-fieldLayout,
form.mw-mf-settings .oo-ui-fieldLayout:first-child,
.oo-ui-tagItemWidget,
.oo-ui-toolGroup,
.page-actions-menu,
.mw-rcfilters-ui-tagItemWidget.oo-ui-flaggedElement-muted.oo-ui-tagItemWidget.oo-ui-widget-enabled,
.mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle,
.client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed),
.oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame,
.editor-overlay-ve .overlay-header-container .ve-init-mw-mobileArticleTarget-toolbar,
.notifications-overlay-overlay .mw-echo-ui-actionMenuPopupWidget-menu,
.oo-ui-dropdownInputWidget select,
.oo-ui-panelLayout-framed,
.mw-rollback-link,
.mw-widget-calendarWidget,
.content kbd,
.content samp,
.content code,
.content pre,
.category-header li,
.mw-tag-marker,
.ns-special .content-header,
.mw-mf-watchlist-selector li,
.header,
.oo-ui-dropdownWidget-handle,
.oo-ui-menuSelectWidget,
.notifications-filter-overlay .overlay-content .mw-echo-ui-pageNotificationsOptionWidget,
.notifications-filter-overlay .overlay-content .mw-echo-ui-crossWikiUnreadFilterWidget,
.overlay.search-overlay .search-content,
.catlinks,
.catlinks li {
border-color: var(--gray-5);
}
.language-searcher .site-link-list a,
.minerva-footer,
.mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces,
.overlay-footer-container {
border-top-color: var(--gray-5);
}
.mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk),
.mw-changeslist-line,
.overlay .panel,
.content .mw-parser-output > h2,
.content .section-heading,
.content table.infobox th,
.content table.infobox td,
.action-history #pagehistory li,
.header-container,
.mw-echo-ui-notificationItemWidget:last-child {
border-bottom-color: var(--gray-5);
}
blockquote,
.oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor::after {
border-left-color: var(--gray-5);
}
.oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor::after {
border-right-color: var(--gray-5);
}
/* Diff fixes */
.diff-context {
background-color: transparent;
border-color: var(--gray-5);
color: var(--gray-c);
}
.diff-addedline {
border-color: var(--diff-add);
}
.diff-addedline .diffchange {
background: var(--diff-add);
}
.diff-deletedline {
border-color: var(--diff-del);
}
.diff-deletedline .diffchange {
background: var(--diff-del);
}
/* RecentChanges layout fixes (see #78) */
.mw-rcfilters-ui-changesListWrapperWidget {
padding-left: .5em;
}
.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul li {
padding-right: .5em;
padding-left: .5em;
}
.mw-rcfilters-ui-changesListWrapperWidget-highlighted .mw-rcfilters-ui-highlights {
display: block;
}
.mw-rcfilters-ui-changesListWrapperWidget-highlighted .mw-rcfilters-ui-highlights > div {
margin-right: 10px;
}
.mw-rollback-link {
margin-left: .5em;
float: right;
border: 1px solid var(--gray-5);
}
/* Other UI fixes */
.ns-special #content {
background-color: var(--gray-2);
background-image: var(--bg-selected);
}
.mw-ui-input {
background-color: var(--gray-1);
color: var(--gray-c);
border-color: var(--gray-5);
box-shadow: inset 0 0 0 .1em var(--gray-5);
}
.search-box .search {
background-color: var(--gray-2);
border-color: var(--gray-5);
color: var(--gray-c);
}
.toggle-list__list {
background-color: var(--gray-3);
box-shadow: 0 5px 17px 0 var(--black_25), 0 0 1px var(--gray-5);
}
.minerva--amc-enabled.action-history #pagehistory .mw-changeslist-links:not(.mw-usertoollinks):not(.mw-history-histlinks) .mw-history-undo a:hover,
.minerva--amc-enabled.action-history #pagehistory .mw-changeslist-links:not(.mw-usertoollinks):not(.mw-history-histlinks) .mw-rollback-link a:hover {
background-color: var(--gray-5);
border-color: var(--gray-5);
color: var(--gray-c);
}
.mw-widget-dateInputWidget-handle,
.oo-ui-textInputWidget .oo-ui-inputWidget-input {
background-color: var(--gray-1);
border-color: var(--gray-5);
color: var(--gray-c);
}
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover {
background-color: var(--gray-4);
color: var(--gray-c);
}
.mw-widgets-datetime-dateTimeInputWidget-handle {
background-color: var(--gray-1);
color: var(--gray-c);
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active:focus,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button,
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active {
background-color: var(--gray-4);
color: var(--gray-c);
}
.oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover,
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button,
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active {
border-color: var(--gray-5);
color: var(--gray-c);
}
#mw-mf-page-left ul li,
#mw-mf-page-left .secondary-action {
background-color: var(--gray-3);
border-color: var(--gray-5);
}
.page-list li,
.topic-title-list li,
.site-link-list li {
border-bottom-color: var(--gray-5);
color: var(--gray-c);
}
.backtotop {
box-shadow: .1em .2em .3em var(--gray-5);
}
.mbox-small.plainlinks.sistersitebox,
.mbox-small.wikipedia-books {
background-color: var(--gray-3) !important;
border-color: var(--gray-5) !important;
color: var(--gray-c) !important;
}
.overlay textarea {
background-color: var(--gray-1);
color: var(--gray-9a);
}
.oo-ui-barToolGroup-tools.oo-ui-toolGroup-enabled-tools .oo-ui-tool.oo-ui-widget-disabled.oo-ui-flaggedElement-primary > .oo-ui-tool-link,
.oo-ui-barToolGroup-tools.oo-ui-toolGroup-disabled-tools .oo-ui-tool.oo-ui-flaggedElement-primary > .oo-ui-tool-link,
.overlay-header .header-action .continue[disabled],
.overlay-header .header-action .submit[disabled],
.overlay-header .header-action .progressive[disabled],
.oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button {
background-color: var(--gray-5);
border-color: var(--gray-5);
}
.minerva--amc-enabled.action-history #pagehistory .mw-changeslist-links:not(.mw-usertoollinks):not(.mw-history-histlinks) .mw-history-undo a,
.minerva--amc-enabled.action-history #pagehistory .mw-changeslist-links:not(.mw-usertoollinks):not(.mw-history-histlinks) .mw-rollback-link a,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover,
.oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover,
.mw-ui-button:hover {
background-color: var(--gray-4);
border-color: var(--gray-5);
color: var(--gray-c);
}
footer .last-modified-bar,
.overlay .content-header {
background-color: var(--gray-3);
border-bottom-color: var(--gray-5);
color: var(--gray-c);
}
.last-modified-bar.active,
.oo-ui-toolbar-bar,
.hatnote,
.dablink,
.rellink,
.client-js .ambox {
background-color: var(--gray-3);
color: var(--gray-c);
}
.action-history #pagehistory .mw-changeslist-links:not(.mw-usertoollinks):not(.mw-history-histlinks) .mw-history-undo a,
.action-history #pagehistory .mw-changeslist-links:not(.mw-usertoollinks):not(.mw-history-histlinks) .mw-rollback-link a,
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button,
.previewnote p,
.mw-revision,
.mw-ui-button {
background-color: var(--gray-3);
border-color: var(--gray-5);
color: var(--gray-c);
}
.mw-parser-output .divbox-gray,
.mw-parser-output .divbox-grey {
background-color: var(--gray-4);
border-color: var(--gray-5);
}
.oo-ui-popupWidget-popup,
.oo-ui-popupToolGroup-tools,
.content table.infobox,
.ve-mobile-fakeToolbar-container {
background-color: var(--gray-3);
border-color: var(--gray-5);
}
.ip-label-container,
.client-js .toc-mobile,
.mw-echo-ui-notificationItemWidget,
.mw-ext-score-popup::after,
#toc {
background-color: var(--gray-2);
border-color: var(--gray-5);
}
.client-js body.mw-rcfilters-ui-loading .mw-changeslist {
opacity: .7;
}
kbd.keyboard-key {
background: var(--gray-18) !important;
border-color: var(--gray-5) !important;
color: var(--gray-9a) !important;
}
div#editpage-specialchars a,
body div.ui-dialog .ui-widget-header {
background: var(--gray-3) !important;
border-color: var(--gray-5) !important;
}
/* Animation fixes */
.oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link {
-webkit-transition: none;
-moz-transition: none;
transition: none;
}
.oo-ui-pendingElement-pending {
background-color: var(--gray-2);
background-image: -webkit-linear-gradient(135deg, var(--black) 25%, transparent 25%, transparent 50%, var(--black) 50%, var(--black) 75%, transparent 75%, transparent);
background-image: -moz-linear-gradient(135deg, var(--black) 25%, transparent 25%, transparent 50%, var(--black) 50%, var(--black) 75%, transparent 75%, transparent);
background-image: linear-gradient(135deg, var(--black) 25%, transparent 25%, transparent 50%, var(--black) 50%, var(--black) 75%, transparent 75%, transparent);
}
@-webkit-keyframes unseen-fadeout-to-unread {
from {
background-color: var(--gray-18);
}
to {
background-color: var(--gray-3);
}
}
@keyframes unseen-fadeout-to-unread {
from {
background-color: var(--gray-18);
}
to {
background-color: var(--gray-3);
}
}
@-webkit-keyframes unseen-fadeout-to-read {
from {
background-color: var(--gray-18);
}
to {
background-color: var(--gray-2);
}
}
@keyframes unseen-fadeout-to-read {
from {
background-color: var(--gray-18);
}
to {
background-color: var(--gray-2);
}
}
#mw-panel .portal:not(#p-navigation) .body {
background-image: linear-gradient(to top, transparent, var(--gray-c));
background-size: auto 1px;
}
sjikslmqeqgh2zfup5v9d5nlz7dnflc
User:Zurani
2
1879
3170
3049
2023-07-02T12:41:48Z
Zurani
1396
3170
wikitext
text/x-wiki
'''Zurani ([[VIP]])'''
[https://discord.gg/QnmVMpU Discord]: Zurani
[https://sb.ltn.fi/userid/63e47c43350da18555f96fe059a7bad9c12be72e83aa6083a87dd4964cf35099/ <nowiki>[SBB]</nowiki>]
mdrretorfxdysk484r8t4q4c14ugto2
User:Zack
2
1880
3283
3052
2023-11-02T00:43:50Z
Zack
1397
Added part of a description to my userpage to reference what I do.
3283
wikitext
text/x-wiki
(Work in progress: I'm still coming up with ideas for the time being.)
Mostly chapters, and not much else. ¯\_(ツ)_/¯
f2a21xzuo1njnnpupyq6su6iy5dprpl
User:Mschae23
2
1883
3062
2023-05-12T12:17:07Z
Mschae23
1398
Create user page
3062
wikitext
text/x-wiki
Hello!
caeijeike3tbqti90gctw0zhmuffrtf
DeArrow
0
1887
3320
3319
2023-11-03T19:37:24Z
MiniBomba
144
can we do a space?
3320
wikitext
text/x-wiki
DeArrow is the name for the [https://github.com/ajayyy/DeArrow browser extension for crowdsourcing titles and thumbnails].
[https://github.com/ajayyy/DeArrow GitHub] | [https://addons.mozilla.org/en-US/firefox/addon/dearrow/ Firefox Addon] | [https://chrome.google.com/webstore/detail/dearrow-better-titles-and/enamippconapkdmgfgjchkhakpfinmaj Chromium Addon]
[[API Docs/DeArrow|API Docs]]
Please read the [[DeArrow/Guidelines|guidelines]] if you want to contrinute.
[[Category:DeArrow| ]]
ptqtxw3ov838wufu4v4sug0tpdq72ti
Talk:DeArrow/Guidelines
1
1888
3112
3085
2023-06-07T22:15:40Z
Ajay
1
Ajay moved page [[Talk:DeArrow/Guidelines/Draft]] to [[Talk:DeArrow/Guidelines]]
3084
wikitext
text/x-wiki
Please limit discussion to the `de-arrow` discord channel
k0gwdo75vma90sknf2vu71tby3pyyzj
Template:Box
10
1889
3091
3089
2023-05-19T15:28:02Z
Mschae23
1398
Use a background color instead of a header row
3091
wikitext
text/x-wiki
<onlyinclude><includeonly>{| class="wikitable"
|-
|style="background: #333333;" |{{{1|}}}
|}</includeonly></onlyinclude>{{Box|Example.}}
== Usage ==
<pre>
{{Box|Example}}
</pre>
5xpdyhg7o1x06ij9anv3qlaq0628zw8
Template:Draft
10
1890
3095
3092
2023-05-20T21:42:13Z
Mschae23
1398
Add Draft category to pages using this template
3095
wikitext
text/x-wiki
<includeonly><onlyinclude>{{Box|This {{#if: {{{section|}}}|section|article}} is a draft. {{#if: {{{1|}}}|{{{1|}}}|}}}}{{#if: {{{example|}}}||[[Category:Draft]]}}</onlyinclude></includeonly>{{Draft|example=1}}
{{Draft|example=1|section=1}}
{{Draft|example=1|Example.}}
{{Draft|example=1|section=1|Example.}}
== Usage ==
<pre>
{{Draft}}
{{Draft|section=1}}
{{Draft|Example.}}
{{Draft|section=1|Example.}}
</pre>
pqu6jwwiug4rdefwor52r00d2ucua08
DeArrow/Community
0
1893
3350
3317
2023-11-03T19:54:07Z
MiniBomba
144
Remove "DeArrow/" prefix from category page sorting
3350
wikitext
text/x-wiki
== Android ==
[https://libre-tube.github.io/ LibreTube]
[https://github.com/lamarios/clipious Clipious]
=== Thumbnails only ===
[https://github.com/inotia00/revanced-patches/releases inotia00's ReVanced extended]
== Desktop ==
[https://freetubeapp.io/ FreeTube] supports title replacement
[https://github.com/BowDown097/QtTube QtTube]
=== Terminal ===
[https://github.com/jooooscha/terminal-yt terminal-yt] supports title replacement
== Discord ==
[https://github.com/SB-tools/DeArrow-Bot DeArrow Discord bot] by cane. Automatically replaces YouTube embeds with thumbnails and titles from DeArrow
[https://github.com/SuperManifolds/DeArrowDiscord BetterDiscord Plugin] by SuperManifolds (Alex Sørlie)
[https://vencord.dev/plugins/Dearrow Vencord Plugin] by Vendicated
[https://github.com/mchangrh/sb-lookup sb-lookup] by mchangrh. Replaces title and thumbnail of Discord embeds with thumbnails and titles from DeArrow
== Websites ==
[https://dearrow.minibomba.pro DeArrow Browser] by mini_bomba. A database explorer for DeArrow inspired by SB Browser with an in-memory server-side database. Main instance updates every 90 minutes. ([https://github.com/mini-bomba/DeArrowBrowser Source code])
== Other ==
[https://github.com/ZeroQI/YouTube-Agent.bundle YouTube-Agent.bundle] by ZeroQI. A Plex Movie & TV Series library metadata agent
[[Category:DeArrow User Guides|Community]]
jv6fa2vmvj3zw5r4frrbl3em3rsectj
DeArrow/Naming Conventions
0
1894
3368
3351
2023-11-03T20:09:19Z
MiniBomba
144
move to guidelines
3368
wikitext
text/x-wiki
{| class="wikitable" style="float: right;"
|-
! Examples
|-
|
* Episode name | Series name S2:E3
* Banned | Hermitcraft S9:E36
----
Episode name | Series name notation – Season subtitle | Arc number – Subtitle
* Deception Derby | District Transport S1E4P2 – Unseen Fender | Arc 1 – Chaos Surcharge
----
Episode name | Series name notation
* The Mad Batter machine – the world's longest home run | Smarter Every Day E230
|}
{{Box|This is an ongoing discussion. None of this should be taken at face value.}}
=== Hierarchy: <code>|</code> ===
If a title exists, it should '''always''' be the first element.
Additional metadata for series should be arranged descending in hierarchy, separated with <code>|</code><ref group="Example">Deception Derby | District Transport Season 1 – Unseen Fender | Arc 1 – Chaos Surcharge | Episode 4</ref>.
=== Season and episode naming: <code>S#:E#:P#</code> ===
If there are seasons and episodes defined by the creator, they should be formatted as <code>S#:E#:P#</code>. <code>#</code> is a placeholder for the number in the series here.
<code>P#</code> is optional, if a single episode is separated into multiple parts.
Zero-padding (<code>S01</code>) the number should follow the existing style or convention of the channel.
==== Season-less or episode-less ====
Season-less, standalone episodes should be denoted only with <code>E#</code><ref group="Example">Deception Derby | District Transport E4</ref>
<!-- No written out "Episode"? -->
Episode-less, standalone videos should be denoted with an unabbreviated <code>Part</code> <ref group="Example">Deception Derby | Chaos Surcharge Part 1</ref>
==== Daily shows ====
Shows without seasons or that are solely based on date should be formatted according to [[wikipedia:ISO_8601|ISO8601]], which is <code>YYYY-MM-DD</code><ref group="Example">Q&A Livestream | Deception Derby 1999-12-31</ref>
Variations such as <code>YYYY-DD-MM</code> or <code>YY-MM-DD</code> are not allowed, since they are ambiguous.
=== Subtitles: <code>–</code> ===
If there a subtitle to the series or episode, it should be separated with a hyphen (<code>-</code>) or an en dash (<code>–</code>) before the hierarchy separator<ref group="Example">Deception Derby | District Transport S1E4 – Unseen Fender</ref>.
=== Additional metadata: <code>()</code> ===
If there is any additional metadata, it should be included in parentheses (<code>(...)</code>) at the end of the relevant part of the title, before the hierarchy separator<ref group="Example">Deception Derby (BTS) | ...</ref>.
Additional metadata can be:
* Featured artists: <code>(ft. John Doe)</code>
* Speedrun categories or modifiers: <code>(any%)</code> <code>(blindfolded)</code>
* Other modifiers that might distinguish it from another part: <code>(BTS)</code>
* Year for media that might have a popular name or multiple iterations: <code>Call of Duty Modern Warfare (2019)</code>
=== Examples and footnotes ===
{| class="wikitable"
|+For the purposes of documentation, a fictional show "District Transport" is used.<br>Titles are generated using a wordlist.
!Episode Title
!Series Name
!Season #
!Season Subtitle
!Episode #
!Part #
!Arc #
!Arc Subtitle
|-
|Deception Derby
|District Transport
|1
|Unseen Fender
|4
|2
|1
|Chaos Surcharge
|}
<references group="Example" />
[[Category:DeArrow Guidelines|Naming Conventions]]
0k4wgeamofixvgji8dcuu4dbo7ewxo9
API Docs/DeArrow
0
1895
3310
3297
2023-11-03T19:29:56Z
MiniBomba
144
Add categories
3310
wikitext
text/x-wiki
The DeArrow API is free to use for all non browser-extensions
-----{{API Docs}}
-----
===== '''GET''' <code>/api/branding</code> =====
Get submission for a video.
Note: Data is returned ordered. You can use the first element. However, you should make sure the first element has either locked = true or votes >= 0. If not, it is considered untrusted and is only to be shown in the voting box until it has been confirmed by another user.
Random time and video duration are used if you want to fallback thumbnails to a screenshot from a random time. To make thumbnail caching possible, this random time is consistent and produced by the server. The random time value is a number between 0 and 1 and must be multiplied by the video duration. For convenience, the API returns the video duration if it is known, but for most videos the server does not know the video duration. When the API returns a video duration of 0 or null, you must either not use this feature, or obtain the video duration using another method. The browser extension will fallback to fetching the video duration using other methods to always be able to use the feature.
'''Input''' (URL Parameters):<syntaxhighlight lang="ts">
{
videoID: string,
service: string, // Optional, default is 'YouTube' [1]
returnUserID: boolean // optional, returns submitter userIDs if true, default false
}
</syntaxhighlight>References: <ref name=":1">Service to get segments for. See [[Types#Service|Types]] for supported services</ref>
'''Response''':<syntaxhighlight lang="ts">
{
titles: Array<{
title: string,
original: boolean,
votes: number
locked: true
UUID: string
}>:
thumbnails: Array<{
timestamp: number, // Missing if original is true
original: boolean,
votes: number
locked: true
UUID: string
}>
randomTime: number,
videoDuration: number | null
}
</syntaxhighlight>'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''GET''' <code>/api/branding/:sha256HashPrefix</code>=====
Get submissions for a video.
<code>sha256HashPrefix</code> is a hash of the YouTube <code>videoID</code>. It should be the first 4 characters. This provides extra privacy by potentially finding more than just the video you are looking for since the server will not know exactly what video you are looking for.
Note: Data is returned ordered. You can use the first element. However, you should make sure the first element has either locked = true or votes >= 0. If not, it is considered untrusted and is only to be shown in the voting box until it has been confirmed by another user.
Random time and video duration are used if you want to fallback thumbnails to a screenshot from a random time. To make thumbnail caching possible, this random time is consistent and produced by the server. The random time value is a number between 0 and 1 and must be multiplied by the video duration. For convenience, the API returns the video duration if it is known, but for most videos the server does not know the video duration. When the API returns a video duration of 0 or null, you must either not use this feature, or obtain the video duration using another method. The browser extension will fallback to fetching the video duration using other methods to always be able to use the feature.
'''Input''' (URL Parameters):<syntaxhighlight lang="ts">
{
service: string // Optional, default is 'YouTube'. [1]
}
</syntaxhighlight>References: <ref name=":1" />
'''Response'''<syntaxhighlight lang="ts">
{
[videoID: string]: {
titles: Array<{
title: string,
original: boolean,
votes: number
locked: true
UUID: string
}>:
thumbnails: Array<{
timestamp: number, // Missing if original is true
original: boolean,
votes: number
locked: true
UUID: string
}>,
randomTime: number,
videoDuration: number | null
}
}
</syntaxhighlight>'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
404: Not Found
-----
====='''POST''' <code>/api/branding</code>=====
Create a submission on a video. If a duplicate submission exists, it votes on that submission.
'''Input''' (JSON Body):<syntaxhighlight lang="ts">
{
videoID: string,
userID: string, // This should be a randomly generated UUID stored locally (not the public one)
userAgent: string, // "Name of Client/Version" or "[BOT] Name of Bot/Version" ex. "Chromium/1.0.0"
service: string, // Optional, default is 'YouTube'. [1]
title: { // Optional, you can submit either just a title, or just a thumbnail, or both
title: string,
},
thumbnail: {
timestamp: number, // Optional if original is true
original: boolean
},
}
</syntaxhighlight>References: <ref name=":1" />
'''Error codes''':
400: Bad Request (Your inputs are wrong/impossible)
-----
=== Generating a thumbnail from a timestamp ===
Generating thumbnails is handled by a different service. This service will generate thumbnails, and cache them for future users. It is not guaranteed to return, and uses a queuing system. The browser extension uses a fallback local rendering system to handle this, and will render it locally when the server is not able to. It does this by taking a screenshot a video element.
This service is state-less, so can easily be [https://github.com/ajayyy/DeArrowThumbnailCache self-hosted] without having to sync submissions from the main server.
The main instance is hosted at <code><nowiki>https://dearrow-thumb.ajay.app</nowiki></code>
The basic endpoint is as follows
===== '''GET''' <code>/api/v1/getThumbnail</code> =====
Get submissions for a video.
Note: Data is returned ordered. You can use the first element. However, you should make sure the first element has either locked = true or votes >= 0. If not, it is considered untrusted and is only to be shown in the voting box until it has been confirmed by another user.
'''Input''' (URL Parameters):<syntaxhighlight lang="ts">
{
videoID: string,
time: number
}
</syntaxhighlight>References: <ref name=":1" />
'''Response''':
A binary image response.
'''Response codes''' (PLEASE READ):
200: Ok
204: No content, failed to generate, or chose not to generate
==== Speeding up requests ====
You can speed up requests by making a request to <code>getThumbnail</code> at the same time as a request to branding, but without providing a value in the <code>time</code> field. The server will respond with an image if it has one. Once both requests are done, you then have to make sure the thumbnail is for the correct timestamps.
You need to check the <code>X-Timestamp</code> header and verify it is the same as the branding response. If it is not, then you must make a second request with the new time.
There also is a <code>X-Title</code> header that is used by the extension as a fallback in the result that the main server goes down.
<references />
[[Category:Developer Reference]]
[[Category:DeArrow]]
n01fi2sfzf7uajyx2yuwzlmu58iv9r7
Template:API Docs
10
1896
3211
3178
2023-09-12T21:24:24Z
MiniBomba
144
update mini_bomba's mirror update interval
3211
wikitext
text/x-wiki
If you end up using the API, I'd love to know about how you're using it. Tell me about it by making a GitHub issue or emailing me :)
The API and database follow [https://github.com/ajayyy/SponsorBlock/wiki/Database-and-API-License this license] unless you have explicit permission. [https://gist.github.com/ajayyy/4b27dfc66e33941a45aeaadccb51de71 Attribution Template]
Public API available at https://sponsor.ajay.app.
Database download: https://sponsor.ajay.app/database
Database Mirror (30 min update time, provided by Lartza): https://sb.ltn.fi/database/
Database Mirror (10 min update time, provided by blab): https://mirror.sb.mchang.xyz/
Database Mirror (90 min update time, provided by mini_bomba): https://sb.minibomba.pro/mirror/
<sub>Note: Database mirrors listed above do '''''NOT''''' provide an API for the extensions. Setting the server address to any of these URLs will result in no segments or video details being shown.</sub>
hs4e9lga72nw6bahuqhmizwxkchmkp7
Endcards/Credits/Draft
0
1897
3200
3199
2023-08-14T22:08:10Z
Mchangrh
7
remove links
3200
wikitext
text/x-wiki
__FORCETOC__
===== Description =====
This is for credits or when the YouTube endcards appear and not for conclusions with information. (Typically at the end of a video)
===== Exceptions/ Edge Cases =====
#YouTube's overlaid annotations should not influence category type decisions, particularly when the segment category is controversial, as they are arbitrarily placed.
#* If there is a '''clean cut''' to unrelated filler audio or video for YouTube's endcards, mark it as Endcards/Credits .
# A goodbye doesn't necessarily justify an Endcards/Credits segment. A clear audio '''AND''' visual cut should separate a goodbye from preceding content before should it be included in an Endcards/Credits segment.
#* This helps avoid jarring cuts to a goodbye followed by an Endcards/Credits segment.
#* See Daily Dose Of Internet "Intros", just at the end of a video.
===== '''Category Edge Cases''' =====
# Bloopers and "goodbye" sequences should be [[Filler Tangent/Jokes]]
# [[Sponsor]] segments should always be cut separately
#[[Unpaid/Self Promotion]] / [[Interaction Reminder (Subscribe)]] should be cut separately if possible, but can be included '''ONLY''' if they cannot be separated
===== Examples =====
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2"|Positive Examples
|-
| Self promotion during endcards should be marked Endcards. || [https://www.youtube.com/watch?v=8PcMlblQS-k What a BEAST - Beast Canyon NUC]
|-
| Interaction Reminder and Self Promotion are lumped together inside the Endcards. || [https://www.youtube.com/watch?v=B8lMeR32vvc&t=1s Can a Program BRICK Your PC?]
|-
| The Patreons are given credit in the credit scroll next to the writers. || [https://www.youtube.com/watch?v=uognkTrarGc Space Jam 2 - Terrible But Very Fun]
|-
| Self Promotion and endcards are easily separated. || [https://www.youtube.com/watch?v=2F5zkuXJNn8 Why There's a Straight Line Through Scotland]
|-
| The interaction reminder was separated from the endcards. || [https://www.youtube.com/watch?v=YIWV5fSaUB8 My channel was deleted... HOW?]
|-
|Endcards overlayed over a non-music segment. The interaction reminder is separated from the endcards, because it is easy to do so.
|[https://youtu.be/CGQC1E6_E58?t=214 Katy Perry - Hot N Cold (Lyrics)]
|-
| Bloopers at the end are [[Filler Tangent/Jokes]]|| [https://www.youtube.com/watch?v=JaD_Ze-544E This Laptop is ALL SCREEN!]
|-
|The audio at the end is not present in the [https://roosterteeth.com/watch/ah-animated-2020-9-10 first-party VOD]
|[https://www.youtube.com/watch?v=42bFzQIPmTA Tevy Fonda - AH Animated]
|-
|The clip at [https://youtu.be/NmCEvoMwzzA?t=19 0:19] is completely unrelated and filler for YouTube's endcards overlay
|[https://www.youtube.com/watch?v=NmCEvoMwzzA Wenn dein Lehrer endlich mal die Wahrheit sagt]
|-
! colspan="2"|Negative Examples
|-
| Sponsor trumps endcards. || [https://www.youtube.com/watch?v=_SamxVSq6AI It's SINFULLY light! - Roccat Syn Pro Air Wireless Gaming Headset]
|-
|Segment which started at [https://youtu.be/TosdBYbIFBI?t=182 3:02] caused an abrupt audio cut when a smoother transition was possible at 3:07.
|[https://youtu.be/TosdBYbIFBI?t=176 Hissing Cat Warms Up To His Foster Mom]
|}
kseidjiebo56it7s0ol2x9wyph6211y
User:VirginViolet
2
1898
3244
2023-10-24T00:42:55Z
VirginViolet
1405
Created page
3244
wikitext
text/x-wiki
Winner of the 1999 Innocent Girls Awards.
eytphblhmzaesov0t72q68fb0154twm
User talk:VirginViolet
3
1899
3245
2023-10-24T00:45:48Z
VirginViolet
1405
Created page
3245
wikitext
text/x-wiki
Welcome to my talk page, I guess. [[User:VirginViolet|VirginViolet]] ([[User talk:VirginViolet|talk]]) 00:45, 24 October 2023 (UTC)
10z63rtpxnmw7qck3c12l43tf6tmd2j
Sponsor/Examples
0
1900
3274
3249
2023-10-31T20:04:44Z
VirginViolet
1405
Cleaned up video title
3274
wikitext
text/x-wiki
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2"|Positive Examples
|-
| The sponsor at the start and the end both include their respective segues. || [https://www.youtube.com/watch?v=SElZABp5M3U I tried Steam Deck early and it's awesome]
|-
| The complete segue is included. There is a joke about the video's subject in the segue, but it is encouraged to include it as well. || [https://www.youtube.com/watch?v=uognkTrarGc&t=353s Space Jam 2 - Terrible but very fun]
|-
| The show is owned by HBO, but there is no obvious connection between the show and HBO. || [https://www.youtube.com/watch?v=_-0J49_9lwc&t=1911s Housing Discrimination: Last Week Tonight with John Oliver (HBO)]
|-
| Segue into a YouTube ad || [https://www.youtube.com/watch?v=Cwjv1YSKd1I&t=1206s Rick and Morty season 5 finale breakdown (spoilers)]
|-
|Outerminds makes Video Game collaborations for other YouTubers as well.
|[https://youtu.be/RsWQfZl-Xtc?t=3005 Papers, Please!]
|-
! colspan="2"|Negative Examples
|-
| The disclosure at the start shouldn't be marked. || [https://www.youtube.com/watch?v=KrhzKOiRzV8 We might need a Wi-Fi upgrade - Juniper Networks showcase]
|-
| The disclosure at the start shouldn't be marked. Further mentions of the sponsor may be cut though, like the segment at the start or at 6:30. || [https://www.youtube.com/watch?v=WOMOVA9UMic Jerk Chicken]
|-
| At 1:06 he is promoting his own shop. This is considered [[Unpaid/Self Promotion |Self Promotion]]. || [https://www.youtube.com/watch?v=dIq2BB_5G80&t=62s Honda Metropolitan II multipurpose lock picked]
|-
| This is all about his keycaps. It is similar to using a company that produces and sells custom merch. || [https://www.youtube.com/watch?v=bt5ajRZBeYU&t=738s <nowiki>Make your keyboard thock for $3</nowiki>]
|}
5npcshj47l5dcwmauigj64k58pxknsa
Sponsor/Exceptions
0
1901
3384
3250
2023-11-17T17:57:37Z
YoshiNuss
1399
3384
wikitext
text/x-wiki
Sponsor should take precedence over other categories such as [[Endcards/Credits]]. If possible, a clean cut should be made.
# If the whole video is about (or closely related to) the sponsor:
## Don't make segments covering the entire video.
##If the whole video is a sponsor, submit a [[Full Video Labels|Full Video Label]] using the sponsor category.
##If the video isn't entirely about a sponsor but could show bias for the sponsor, don't include the sponsor disclosure and submit a [[Full Video Labels|Full Video Label]] using the sponsor category.
# If the product stands in no obvious relation to the YouTuber, mark it Sponsor.
# If the product is advertised with the YouTuber's branding, but is still clearly a product of the company.
'''If the segment more closely matches the criteria for [[Unpaid/Self Promotion]], it should be marked as such instead of Sponsor.'''
* If they are closely linked with or the product bears their branding exclusively.
* Free shout-outs for anything they like
** Other Channels
** Causes/ Charities
** Websites
** Products
cwyugoemcg6nbta68jld7w1hpk3yjv4
Sponsor/Description
0
1902
3251
2023-10-28T14:46:59Z
Mchangrh
7
Add description from main page
3251
wikitext
text/x-wiki
This is for paid promotions, paid referrals and direct advertisements. This also includes the segues used to smoothly transition into and out of the sponsor segment.
'''This includes:'''
* Giveaway of items, which are provided by a 3rd party and the announcement of the winner
* Advertisement of affiliate links
<!-- Including every product for which a link just exists would be too excessive -->
* Segues into a YouTube ad
8wnnqayraq221s7s4dzt85rcbq11nwh
Sponsor/Blurb
0
1903
3252
2023-10-28T14:47:38Z
Mchangrh
7
Copy blurb from Guidelines
3252
wikitext
text/x-wiki
Part of a video promoting a product or service not directly related to the creator. The creator will receive payment or compensation in the form of money or free products.
If the entire video is about the product or service, use a [[Full Video Labels|Full Video Label]].
rts8vxde4i9gdrwo8l9k5szweynue96
Turnkey
0
1904
3346
3253
2023-11-03T19:50:21Z
MiniBomba
144
Add categories
3346
wikitext
text/x-wiki
''Turnkey'' refers to something that is ready for immediate use, generally used in the sale or supply of goods or services. The word is a reference to the fact that the customer, upon receiving the product, just needs to turn the ignition key to make it operational, or that the key just needs to be turned over to the customer. This is contrasted with build to order, where the constructor builds an item to the buyer's exact specifications, or when an incomplete product is sold with the assumption that the buyer would complete it.
[[Category:Dictionary]]
247mzijwkpdy2skswcj20r2i3b11asi
Sponsor/Disambiguation
0
1905
3372
3259
2023-11-04T22:01:17Z
MiniBomba
144
Add a references tag in the references section
3372
wikitext
text/x-wiki
==== Exclusive Access ====
If a [[Referral Links|referral link]] is added or referenced, it becomes Sponsor
==== Unpaid/ Selfpromo ====
* no association/ affiliate to company: Sponsor
* Biased investment advice (stocks, cryptocurrency, nfts, etc.): Sponsor
* custom/ build-to-order products: Sponsor
* [[Turnkey|turnkey/ white-label]] products: Selfpromo
* considerable ownership of company: Selfpromo
* wholly owned company: Selfpromo
===== Examples =====
* Branded "G-Fuel" Energy Drink: Sponsor
** if there is an affiliate link or if it is customized for the content creator
* Merch through a third party distributor (RedBubble, TeeSpring): Selfpromo
** RedBubble and TeeSpring are turnkey solutions for merch with limited involvement by the parent company
* Beast Burgers: Selfpromo
** Beast Burgers are part of a turnkey solution by Virtual Dining Concepts. <ref>https://www.virtualdiningconcepts.com/get-started/</ref>
* LunarClient Partners: Sponsor
** LunarClient cosmetics are not turnkey
* Epic Games ''Support-A-Creator'': Sponsor
** Content creators have no association with the brand and in their Application even states that any creator must disclose their connection.<ref>https://www.epicgames.com/affiliate/en-US/overview</ref>
*Makeship
**Similar to YouTooz, the platform is promoted and the products are not [[turnkey]]. <ref>https://discord.com/channels/603643120093233162/655247785561554945/957744305030701096</ref>
*Nebula
**While "owned by creators", no creators have considerable ownership over the platform, It is owned by
==== References ====
<references></references>
58o2a6c9hikq6t3h9exct6kxvnyfery
Referral Links
0
1906
3391
3339
2023-12-19T23:50:53Z
Mchangrh
7
typo
3391
wikitext
text/x-wiki
Referral link types
geni.us (GeniusLink) - used for tracking
narrativ - used to choose the best marketplace (Amazon, Bestbuy, Newegg)
kit.co (Owned by GeniusLink) - used for lists of products with affiliate links
===== Linus Tech Tips Examples =====
[http://web.archive.org/web/20220218062216/https://form.jotform.com/220245385282252 Info about product links]
[[Category:Dictionary]]
2nsn4exxq7ei9cnsplmhbddbb86g7lk
Nebula
0
1907
3337
3272
2023-11-03T19:44:57Z
MiniBomba
144
Add categories
3337
wikitext
text/x-wiki
While advertised as being "By Creators", creators do not have a controlling stake in Nebula
Payouts are Split 50/50 between creators and Standard.TV (Standard Broadcast LLC) <ref>https://nebula.tv/faq</ref>
CuriosityStream (Curiosity) has a 25% equity in Nebula (2021-08-23)<ref>https://www.sec.gov/Archives/edgar/data/1776909/000121390022027215/R10.htm</ref><ref>https://www.sec.gov/Archives/edgar/data/1881238/000188123821000001/xslFormDX01/primary_doc.xml</ref> via Devin Emery<ref>https://investors.curiositystream.com/governance/board-of-directors/person-details/default.aspx?ItemId=ee67eb8d-2c15-4927-b899-fb32a3c76c3c</ref>)
Standard Broadcast LLC is owned by David Wiskus who also acts as the CEO of Nebula<ref>https://twitter.com/dwiskus</ref>. An unknown amount of stake in either Standard Broadcast LLC or Nebula is owned by the four "Founding creators" obtained when CGP Grey and Philipp Dettmer from Kurzgesagt exited from Standard Broadcast LLC.<ref name=":0">[https://youtu.be/Alqt6RCEWdM?si=CQaB_I2siRlBAvaK&t=935 https://youtu.be/Alqt6RCEWdM?t=935]</ref>
==== Entities ====
Nebula: Watch Nebula LLC <ref>https://www.sec.gov/edgar/browse/?CIK=0001881238</ref>
Standard.TV: Standard Broadcast LLC <ref>https://www.sec.gov/edgar/browse/?CIK=0001840802</ref><ref>https://opencorporates.com/companies/us_ca/201802610174</ref><ref>https://opengovco.com/business/20181532817</ref>
CuriosityStream Inc.<ref>https://www.sec.gov/edgar/browse/?CIK=0001776909</ref><ref>https://www.sec.gov/Archives/edgar/data/1776909/000121390022027215/0001213900-22-027215-index.html</ref>
"Founding creators": Sam from Wendover, Brian from Real Engineering, Alex from LowSpecGamer, Devin from LegalEagle and Thomas Frank<ref name=":0" />
== References ==
<references />
[[Category:Common Promotion Subjects]]
i1ntzc7jkhuuyb4kv4h5wd5r8683ad1
Highlight/Draft
0
1908
3280
2023-10-31T23:54:21Z
VirginViolet
1405
Examples
3280
wikitext
text/x-wiki
__FORCETOC__
=== Description ===
This is for getting to the point or highlight of the video.
Highlight is a very niche & subjective category, enabling autoskip is '''''<u>not recommended</u>''''' for any content you care about.
you '''''<u>will</u>''''' skip context, important information '''''<u>and</u>''''' have content spoiled.
=== Specifics ===
Highlights are not [[Chapter|Chapters]], only one highlight is displayed per video.
Highlights will only jump to a point in the video, hence the start and end time is identical.
Highlight doesn't label the content before it, it labels the content ''after'' it.
"Most Replayed" should not have any effect on what you submit
Only submit the highlight with the highest priority
==== Use Cases (highest to lowest priority)[https://blog.ajay.app/highlight-sponsorblock] ====
# Skipping to the point/most important part of the video
# Skipping to the part of the video referred to by the title
# Skipping to the part of the video referred to by the thumbnail
# Skipping to the part of the video referenced from a preview/teaser at the start of the video
===== Examples =====
{| class="wikitable" style="width: 80%"
|-
! style="width: 3%" | Description !! style="width: 1%" | Video Link
|-
! colspan="2"|Positive Examples
|-
| Jumps to the most important part of the video: the rocket launches. || [https://www.youtube.com/watch?v=BHiWygziyso Transporter-2 mission]
|-
| Jumps to the most important part of the video: explosion. || [https://www.youtube.com/watch?v=BHiWygziyso World's largest devil's toothpaste explosion]
|-
| Jumps to the point where the topic of the video is summarized and the question in the title gets answered. || [https://www.youtube.com/watch?v=F1Hq8eVOMHs Is meat really that bad?]
|-
| Skips a large section that is not essential for understanding the rest of the video. || [https://www.youtube.com/watch?v=hBDwXipHykQ How China conquered the keyboard]
|-
! colspan="2"|Negative Examples
|-
| ||
|-
|
|
|}__NOEDITSECTION__
__INDEX__
0edbk4ylc09bn859qf4cl5vcw53rgnm
Category:User Guides
14
1909
3287
2023-11-03T19:12:26Z
MiniBomba
144
Create category
3287
wikitext
text/x-wiki
This category contains guides and resources for users - from new users to VIPs.
ppz8rjliz5bg9yr55ryu2mokqum6foq
Category:Developer Reference
14
1910
3288
2023-11-03T19:15:02Z
MiniBomba
144
Create category
3288
wikitext
text/x-wiki
This category contains documentation for both 1st party developers and 3rd ones, developing tools or integrating with SponsorBlock.
4r3s1y5crmxw57sdkp2s6m4wt5pc728
Category:Segment Categories
14
1911
3364
3357
2023-11-03T20:07:00Z
MiniBomba
144
move to a specific subcategory
3364
wikitext
text/x-wiki
This category contains guidelines for various SponsorBlock segment categories.
[[Category:SponsorBlock Guidelines]]
kzfi8ef4l8udhn7o8flr614g2t74uk5
Category:Segment Types
14
1912
3365
3356
2023-11-03T20:07:15Z
MiniBomba
144
move to a specific subcategory
3365
wikitext
text/x-wiki
This category contains guidelines for various SponsorBlock segment types.
[[Category:SponsorBlock Guidelines]]
l1h6y11sf6z6efatjcvgiap632hy0zl
Category:Guidelines
14
1913
3353
3291
2023-11-03T19:56:49Z
MiniBomba
144
Make it a subcategory of [[Category:User Guides]]
3353
wikitext
text/x-wiki
This category contains guidelines for SponsorBlock and DeArrow.
[[Category:User Guides]]
2mcyob5pv2s8quvi32f45y8qtx40elx
Category:Dictionary
14
1914
3352
3294
2023-11-03T19:56:07Z
MiniBomba
144
Make it a subcategory of [[Category:User Guides]]
3352
wikitext
text/x-wiki
This category contains pages explaining terms used in guidelines and in conversations on Discord/Matrix.
[[Category:User Guides]]
lmqtbnctd7igf6tsyyqy25qmmhb42dn
Category:Common Promotion Subjects
14
1915
3369
3295
2023-11-03T20:24:33Z
MiniBomba
144
make it a subcategory of [[Category:SponsorBlock User Guides]]
3369
wikitext
text/x-wiki
This category contains pages with information about common sponsorship or unpaid promotion subjects, with rulings on which categories should be used to cover them.
[[Category:SponsorBlock User Guides]]
lxyz8ptf7sa90ixu3s3sfylst9ru3o6
Category:SponsorBlock
14
1916
3305
2023-11-03T19:27:56Z
MiniBomba
144
Create category
3305
wikitext
text/x-wiki
Pages specific to SponsorBlock.
70evpyn4e83615avskih8dnmig77d7g
Category:DeArrow
14
1917
3306
2023-11-03T19:28:25Z
MiniBomba
144
Create category
3306
wikitext
text/x-wiki
Pages specific to DeArrow
okitaq8l1oqozws65gggvncllzx5zql
Category:SponsorBlock User Guides
14
1918
3313
3311
2023-11-03T19:33:47Z
MiniBomba
144
Add categories
3313
wikitext
text/x-wiki
Guides for SponsorBlock users
[[Category:User Guides]]
[[Category:SponsorBlock]]
k7nyf5dlou1amjcerzpvbwi4gn3gfma
Category:DeArrow User Guides
14
1919
3312
2023-11-03T19:33:26Z
MiniBomba
144
Create category
3312
wikitext
text/x-wiki
Guides for DeArrow users
[[Category:User Guides]]
[[Category:DeArrow]]
oey4llljsqu6hb2yv9sbwrdkwxw98n0
Category:SponsorBlock Guidelines
14
1920
3363
3361
2023-11-03T20:06:34Z
MiniBomba
144
sorting fix
3363
wikitext
text/x-wiki
Guidelines for SponsorBlock
[[Category:Guidelines| S]]
[[Category:SponsorBlock User Guides]]
oth7yiosv03k2b8ddody6qhb644502j
Category:DeArrow Guidelines
14
1921
3362
2023-11-03T20:06:19Z
MiniBomba
144
new category
3362
wikitext
text/x-wiki
Guidelines for DeArrow
[[Category:Guidelines| D]]
[[Category:DeArrow User Guides]]
5679r9nkk9imsskwp6hww9x7r4a7p93
Preview/Recap
0
1922
3375
2023-11-07T20:35:43Z
Ajay
1
Ajay moved page [[Preview/Recap]] to [[Preview/Recap/Hook]]
3375
wikitext
text/x-wiki
#REDIRECT [[Preview/Recap/Hook]]
358owpkxqbwygad1u6rzo6dka9g324s
Talk:Preview/Recap
1
1923
3377
2023-11-07T20:35:43Z
Ajay
1
Ajay moved page [[Talk:Preview/Recap]] to [[Talk:Preview/Recap/Hook]]
3377
wikitext
text/x-wiki
#REDIRECT [[Talk:Preview/Recap/Hook]]
tibepr83oia73p5vj3ag1faspil0qpi
File:Transcript new.png
6
1924
3387
2023-12-05T11:48:21Z
YoshiNuss
1399
3387
wikitext
text/x-wiki
Screenshot of the new YT transcript
4obecmacbja3lsj4hpu8omg28lqu4st
2023-12-05T11:48:21Z
YoshiNuss
1399
Transcript_new.png
https://wiki.sponsor.ajay.app/images/f/f5/Transcript_new.png
5776
qjuolm9j60pxi3yanv18jcyfhiezeb8
f/f5/Transcript_new.png
User:MiniBomba/Discord discussions index
2
1925
3392
2023-12-30T21:33:06Z
MiniBomba
144
le new experiment page
3392
wikitext
text/x-wiki
Here I'll try saving and summarizing the more useful/major discussions that happen on the discord server, since search on discord is terrible sometimes.
Might move to the main namespace later™?
__TOC__
==Discussions with conclusions==
==Discussions without conclusions==
===Videos where the whole video is repeated multiple times: Which categories to use?===
* [https://discord.com/channels/603643120093233162/650803943152156673/1160304666760990731 Discussed in #categories]
* Intermission for exact duplicates, Filler for slowmotion clips
* Joke replies:
** Mark first repeated clip as preview, last as recap
** Mark first two clips as preview
* Resulting suggestions for new categories:
** General editing error category
** Repeated Clip Duration Padding/Unnecessary Replay
==Missing discussions==
===Flights paid by the company: EA or Sponsor?===
* [https://discord.com/channels/603643120093233162/650803943152156673/1190759273941172366 Question for previous rulings posted in #categories]
fycv97tjykiqfh4dlsiu2h1ru2ojf51