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 &quot;hello.&quot; 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 &quot;Wrong Category&quot; 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 &quot;,&quot; and &quot;.&quot; 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 &quot;sponsor&quot;, &quot;subscribe&quot;, 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 &quot;Incorrect/Wrong Timing&quot; or &quot;Wrong Category&quot; 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 -&gt; settings -&gt; SponsorBlock settings -&gt; &quot;your unique userID&quot; *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 &quot;Import/Export your UserID&quot; *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 &quot;submit&quot;. 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&nbsp;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&nbsp;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