CINXE.COM

BB codes | Ars OpenForum

<!DOCTYPE html> <meta name="apple-mobile-web-app-title" content="Ars OpenForum"> <link rel="apple-touch-icon" href="https://cdn.arstechnica.net/civis/styles/ars/ars/ars-icon.png"> <html id="XF" lang="en-US" dir="LTR" style="font-size: 62.5%;" data-app="public" data-template="help_page" data-container-key="" data-content-key="" data-logged-in="false" data-cookie-prefix="xf_" data-csrf="1739850300,8536f2f319c20c8516b6a9945c6e6a3f" class="has-no-js template-help_page uix_page--fixed uix_responsiveStaffBar uix_hasSectionLinks uix_hasCrumbs" > <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <title>BB codes | Ars OpenForum</title> <link rel="manifest" href="/civis/webmanifest.php"> <meta name="theme-color" content="#030303" /> <meta name="msapplication-TileColor" content="#030303"> <meta name="apple-mobile-web-app-title" content="Ars OpenForum"> <link rel="apple-touch-icon" href="https://cdn.arstechnica.net/civis/styles/ars/ars/ars-icon.png"> <meta name="description" content="The list of BB codes you can use to spice up the look of your messages. This page shows a list of all BB codes that are available." /> <meta property="og:description" content="The list of BB codes you can use to spice up the look of your messages. This page shows a list of all BB codes that are available." /> <meta property="twitter:description" content="The list of BB codes you can use to spice up the look of your messages. This page shows a list of all BB codes that are available." /> <link rel="canonical" href="https://arstechnica.com/civis/help/bb-codes/" /> <meta property="og:site_name" content="Ars OpenForum" /> <meta property="og:type" content="website" /> <meta property="og:title" content="BB codes" /> <meta property="twitter:title" content="BB codes" /> <meta property="og:url" content="https://arstechnica.com/civis/help/bb-codes/" /> <noscript> <link rel="stylesheet" href="https://cdn.arstechnica.net/civis/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Acore.less%2Cpublic%3Aapp.less%2Cpublic%3Aac_app.less%2Cpublic%3Aars_xf.less%2Cpublic%3Amessage.less%2Cpublic%3Astructured_list.less&amp;s=3&amp;l=1&amp;d=1739239862&amp;k=691c51242785ede740645a06d0669dc257eac45b" /> </noscript> <link rel="preload" href="https://cdn.arstechnica.net/civis/styles/ars/fonts/icons/material-icons/fonts/materialdesignicons-webfont.woff2?v=5.8.55" as="font" type="font/woff2" crossorigin="anonymous" /> <link rel="stylesheet" href="https://cdn.arstechnica.net/civis/styles/ars/fonts/icons/material-icons/css/materialdesignicons.min.css?d=1738704779" /> <noscript> <link rel="stylesheet" href="https://cdn.arstechnica.net/civis/css.php?css=public%3Aac_app.less%2Cpublic%3Aadguest_overlay.less%2Cpublic%3Aars_xf.less%2Cpublic%3Aaud_wpconnect.less%2Cpublic%3Abb_code.less%2Cpublic%3Ahelp_bb_codes.less%2Cpublic%3Akl_em_bb_code.less%2Cpublic%3Akl_em_plyr.less%2Cpublic%3Alightbox.less%2Cpublic%3Athstyleswitch.less%2Cpublic%3Auix.less%2Cpublic%3Auix_socialMedia.less%2Cpublic%3Aextra.less&amp;s=3&amp;l=1&amp;d=1739239862&amp;k=333856e5d3eb29d7b760eedde64c22f960107d2f" /> </noscript> <script>window.thstyleswitchConfig = {"autodetectEnabled":true,"lightStyle":{"id":3,"type":"light","cssUrl":"https:\/\/cdn.arstechnica.net\/civis\/css.php?css=__SENTINEL__&s=3&l=1&d=1739239862","primaryCss":["public:normalize.css","public:core.less","public:app.less"],"primaryCssUrl":"https:\/\/cdn.arstechnica.net\/civis\/css.php?css=public%3Anormalize.css%2Cpublic%3Acore.less%2Cpublic%3Aapp.less%2Cpublic%3Afa.css%2Cpublic%3Aac_app.less%2Cpublic%3Aars_xf.less%2Cpublic%3Amessage.less%2Cpublic%3Astructured_list.less&s=3&l=1&d=1739239862&k=047e4a656706678318c16969b2a96b75c8fa2c02","additionalCss":["public:ac_app.less","public:adguest_overlay.less","public:ars_xf.less","public:aud_wpconnect.less","public:bb_code.less","public:help_bb_codes.less","public:kl_em_bb_code.less","public:kl_em_plyr.less","public:lightbox.less","public:thstyleswitch.less","public:uix.less","public:uix_socialMedia.less","public:extra.less","public:fa.css","public:message.less","public:structured_list.less"],"additionalCssUrl":"https://cdn.arstechnica.net/civis/css.php?css=public%3Aac_app.less%2Cpublic%3Aadguest_overlay.less%2Cpublic%3Aars_xf.less%2Cpublic%3Aaud_wpconnect.less%2Cpublic%3Abb_code.less%2Cpublic%3Ahelp_bb_codes.less%2Cpublic%3Akl_em_bb_code.less%2Cpublic%3Akl_em_plyr.less%2Cpublic%3Alightbox.less%2Cpublic%3Athstyleswitch.less%2Cpublic%3Auix.less%2Cpublic%3Auix_socialMedia.less%2Cpublic%3Aextra.less%2Cpublic%3Afa.css%2Cpublic%3Amessage.less%2Cpublic%3Astructured_list.less&s=3&l=1&d=1739239862&k=f9c67dd76d2cde72bd8341c19c2fdd2c9d56fe31","switchStyleUrl":"\/civis\/misc\/thstyleswitch?style_id=6"},"darkStyle":{"id":5,"type":"dark","cssUrl":"https:\/\/cdn.arstechnica.net\/civis\/css.php?css=__SENTINEL__&s=5&l=1&d=1739239862","primaryCss":["public:normalize.css","public:core.less","public:app.less"],"primaryCssUrl":"https:\/\/cdn.arstechnica.net\/civis\/css.php?css=public%3Anormalize.css%2Cpublic%3Acore.less%2Cpublic%3Aapp.less%2Cpublic%3Afa.css%2Cpublic%3Aac_app.less%2Cpublic%3Aars_xf.less%2Cpublic%3Amessage.less%2Cpublic%3Astructured_list.less&s=5&l=1&d=1739239862&k=047e4a656706678318c16969b2a96b75c8fa2c02","additionalCss":["public:ac_app.less","public:adguest_overlay.less","public:ars_xf.less","public:aud_wpconnect.less","public:bb_code.less","public:help_bb_codes.less","public:kl_em_bb_code.less","public:kl_em_plyr.less","public:lightbox.less","public:thstyleswitch.less","public:uix.less","public:uix_socialMedia.less","public:extra.less","public:fa.css","public:message.less","public:structured_list.less"],"additionalCssUrl":"https://cdn.arstechnica.net/civis/css.php?css=public%3Aac_app.less%2Cpublic%3Aadguest_overlay.less%2Cpublic%3Aars_xf.less%2Cpublic%3Aaud_wpconnect.less%2Cpublic%3Abb_code.less%2Cpublic%3Ahelp_bb_codes.less%2Cpublic%3Akl_em_bb_code.less%2Cpublic%3Akl_em_plyr.less%2Cpublic%3Alightbox.less%2Cpublic%3Athstyleswitch.less%2Cpublic%3Auix.less%2Cpublic%3Auix_socialMedia.less%2Cpublic%3Aextra.less%2Cpublic%3Afa.css%2Cpublic%3Amessage.less%2Cpublic%3Astructured_list.less&s=5&l=1&d=1739239862&k=f9c67dd76d2cde72bd8341c19c2fdd2c9d56fe31","switchStyleUrl":"\/civis\/misc\/thstyleswitch?style_id=5"},"currentStyleType":"light","originalCss":{"public:ac_app.less":true,"public:adguest_overlay.less":true,"public:ars_xf.less":true,"public:aud_wpconnect.less":true,"public:bb_code.less":true,"public:help_bb_codes.less":true,"public:kl_em_bb_code.less":true,"public:kl_em_plyr.less":true,"public:lightbox.less":true,"public:thstyleswitch.less":true,"public:uix.less":true,"public:uix_socialMedia.less":true,"public:extra.less":true}};</script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/styleswitch/preamble.js?_v=22f617b4"></script> <script> themehouse.styleSwitch.initAutodetect(); </script> <script src="https://cdn.arstechnica.net/civis/js/xf/preamble.min.js?_v=22f617b4"></script> <meta name="apple-mobile-web-app-capable" content="yes"> <!-- Parse.ly start --> <script id="parsely-cfg" type="text/plain" class="optanon-category-C0002" src="//cdn.parsely.com/keys/forum.arstechnica.com/p.js"></script> <!-- Parse.ly end --> <!-- OneTrust Cookies Consent Notice start --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="b10882a1-8446-4e7d-bfb2-ce2c770ad910"> </script> <script type="text/javascript">function OptanonWrapper(){};</script> <script src="https://cdn.cookielaw.org/opt-out/otCCPAiab.js" type="text/javascript" charset="UTF-8" ccpa-opt-out-ids="C0001,C0002,C0003,C0004,C0005" ccpa-opt-out-geo="ca" ccpa-opt-out-lspa="true"> </script> <!-- OneTrust Cookies Consent Notice end --> <script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({"event":"data-layer-loaded","user":{"ars_userId":"9d83fb1dfc00795056b0c0b7cf82f8a7","amg_userId":undefined,"uID":undefined,"sID":undefined,"loginStatus":true,"subscriberStatus":"inactive","infinityId":"","accessPaywall":undefined,"registrationSource":undefined,"mdw_cnd_id":undefined,"monthlyVisits":undefined,"view":undefined,"theme":undefined,"show_comments":undefined},"content":{"pageTemplate":"XF\\Pub\\Controller\\Help:index","pageType":"XF\\Pub\\Controller\\Help:index","contentCategory":undefined,"section":"","subsection":undefined,"contributor":undefined,"contentID":undefined,"contentLength":undefined,"display":"","contentSource":"web","pageAssets":undefined,"uniqueContentCount":undefined,"monthlyContentCount":undefined,"publishDate":undefined,"modifiedDate":undefined,"keywords":undefined,"dataSource":undefined},"marketing":{"campaignName":undefined,"circCampaignId":undefined,"internalCampaignId":undefined,"brand":"Ars Technica","certified_mrc_data":undefined,"condeNastId":undefined},"page":{"pID":"","syndicatorUrl":undefined,"pageURL":"https:\/\/arstechnica.com\/civis\/index.php\/help\/bb-codes\/","canonical":"https:\/\/arstechnica.com\/civis\/index.php\/help\/bb-codes\/","canonicalPathName":"\/civis\/index.php\/help\/bb-codes\/"},"search":{"facets":undefined,"searchTerms":undefined},"site":{"appVersion":"1.0.0"}}); </script> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NLXNPCQ');</script> <script src="https://www.googletagservices.com/tag/js/gpt.js" id="gpt-script" async ></script> <script>window.googletag=window.googletag||{};window.googletag.cmd=window.googletag.cmd||[];window.cns=window.cns||{};window.cns.queue=[];window.cns.async=function(s,c){cns.queue.push({service:s,callback:c})};</script> <script> window.cns.pageContext = { "contentType": "bundle", "templateType": "forums", "channel": "forums", "subChannel": null, "slug": "forums", "server": "production", "keywords": { "tags": ["forums", "comments"], "cm": [], "platform": ["xenforo"], "copilotid": null } }; </script> <script type="text/javascript"> (function() { var ars = {}; ars.ads = {}; ars.ads.suppressed = false; /** * slotRenderEnded Callback to enable ad slot resizing. */ ars.ads.slotRenderEnded = function () { window.googletag.pubads().addEventListener('slotRenderEnded', ars.ads.sizing); }; /** * ads.pages.create.onSlotRender callback * sets the min-height style on an ars ad wrapper to ensure the height is never lost if there are issues with susequent ad loads. */ ars.ads.sizing = function(event) { var cnsAdStage = document.getElementById(event.slot.getSlotElementId()).parentElement || undefined; var arsAdContainer = cnsAdStage.parentElement || undefined; // grab initial height just before render. var arsAdContainerInitialHeight = (arsAdContainer !== undefined) ? arsAdContainer.offsetHeight : 0; // offsetHeight includes content, padding, and borders. (like box-sizing: border-box). // ignore any empty ad containers if(cnsAdStage.classList.contains('cns-ads-slot-state-empty') || event.isEmpty) return false; // only apply to arsAdContainer with the .ad class if(arsAdContainer === undefined || !arsAdContainer.classList.contains('ad')) return false; // only apply one time. once an original min-height is set. it's set. if(arsAdContainer.hasAttribute('data-ad-height')) return false; // give it just a second to ensure it has rendered completely before calculating the height. setTimeout(function() { var adHeight = cnsAdStage.offsetHeight + parseInt(window.getComputedStyle(cnsAdStage).getPropertyValue('margin-top')) + // include the top/bottom margins from the ad iteslf parseInt(window.getComputedStyle(cnsAdStage).getPropertyValue('margin-bottom')) + parseInt(window.getComputedStyle(arsAdContainer).getPropertyValue('padding-top')) + // include the top/bottom padding from the arsAdContainer parseInt(window.getComputedStyle(arsAdContainer).getPropertyValue('padding-bottom')) + parseInt(window.getComputedStyle(arsAdContainer).getPropertyValue('border-top-width')) + // include the top/bottom border width from the arsAdContainer parseInt(window.getComputedStyle(arsAdContainer).getPropertyValue('border-bottom-width')); // protect one last time against empties. if(adHeight <= 0) return false; // apply whichever height is greater the initial ad slot height or the incoming ad height arsAdContainer.setAttribute('data-ad-height', (arsAdContainerInitialHeight >= adHeight) ? arsAdContainerInitialHeight : adHeight); arsAdContainer.style.minHeight = ((arsAdContainerInitialHeight >= adHeight) ? arsAdContainerInitialHeight : adHeight) + "px"; }, 350); }; /** * enable the Ars Static Ad container size on slotRenderEnded */ (function adsStaticHeight() { window.googletag = window.googletag || {}; window.googletag.cmd = window.googletag.cmd || []; window.googletag.cmd.push(ars.ads.slotRenderEnded); }()); }()); </script> <script src="https://ads-static.conde.digital/production/cns/builds/ars-technica/ars-technica.min.js" async></script> <link rel="icon" type="image/png" href="https://cdn.arstechnica.net/civis/styles/ars/ars/ars-icon.png" sizes="32x32" /> <script type="text/javascript">!(function(o,_name){function n(){(n.q=n.q||[]).push(arguments)}n.v=1,o[_name]=o[_name]||n;!(function(o,t,n,c){function e(n){(function(){try{return(localStorage.getItem("v4ac1eiZr0")||"").split(",")[4]>0}catch(o){}return!1})()&&(n=o[t].pubads())&&n.setTargeting("admiral-engaged","true")}(c=o[t]=o[t]||{}).cmd=c.cmd||[],typeof c.pubads===n?e():typeof c.cmd.unshift===n?c.cmd.unshift(e):c.cmd.push(e)})(window,"googletag","function");})(window,String.fromCharCode(97,100,109,105,114,97,108));!(function(t,c,i){i=t.createElement(c),t=t.getElementsByTagName(c)[0],i.async=1,i.src="https://shiverscissors.com/v2fumwIJOo-LsCB0dlG18VSTW43CpWhUEPJuKeRTzrEQdSPPlMr5GymU",t.parentNode.insertBefore(i,t)})(document,"script");</script> <script class="js-klEditorTemplates" type="application/json"> [] </script> </head> <body data-template="help_page"> <style> .p-pageWrapper .p-navSticky { top: 40px !important; } @media (max-width: 900px) { .p-pageWrapper .p-navSticky { top: 0 !important; } } .uix_mainTabBar {top: 140px !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: 155px !important; min-height: calc(100vh - 155px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: 155px;} .uix_sidebarInner {margin-top: -155px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: 155px;} .p-body-sideNavInner {margin-top: -155px;} .uix_stickyCategoryStrips {top: 155px !important;} #XF .u-anchorTarget { height: 155px; margin-top: -155px; } @media(max-width: 900px) { .uix_mainTabBar {top: 100px !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: 115px !important; min-height: calc(100vh - 115px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: 115px;} .uix_sidebarInner {margin-top: -115px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: 115px;} .p-body-sideNavInner {margin-top: -115px;} .uix_stickyCategoryStrips {top: 115px !important;} #XF .u-anchorTarget { height: 115px; margin-top: -115px; } } @media (max-width: 900px) { .p-sectionLinks {display: none;} .uix_mainTabBar {top: 100px !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: 115px !important; min-height: calc(100vh - 115px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: 115px;} .uix_sidebarInner {margin-top: -115px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: 115px;} .p-body-sideNavInner {margin-top: -115px;} .uix_stickyCategoryStrips {top: 115px !important;} #XF .u-anchorTarget { height: 115px; margin-top: -115px; } @media(max-width: 900px) { .uix_mainTabBar {top: 60px !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: 75px !important; min-height: calc(100vh - 75px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: 75px;} .uix_sidebarInner {margin-top: -75px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: 75px;} .p-body-sideNavInner {margin-top: -75px;} .uix_stickyCategoryStrips {top: 75px !important;} #XF .u-anchorTarget { height: 75px; margin-top: -75px; } } } .uix_sidebarNav .uix_sidebar--scroller {max-height: calc(100vh - 75px);} </style> <div id="jumpToTop"></div> <div class="uix_pageWrapper--fixed"> <div class="p-pageWrapper" id="top"> <div class="p-staffBar " data-xf-init="sticky-header"> <div class="pageContent"> <div class="p-nav-opposite"> <div class="p-navgroup p-account p-navgroup--guest"> <a href="/civis/login/" class="p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--logIn" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">Log in</span> </a> <a href="/civis/register/" class="button button--cta p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--register" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">Register</span> </a> </div> </div> </div> </div> <header class="p-header" id="header"> <div class="p-header-inner"> <div class="p-header-content"> <div class="p-header-logo p-header-logo--image"> <a class="uix_logo" href="/civis/"> <img src="https://cdn.arstechnica.net/civis/styles/ars/ars/ars-open-forum.svg" srcset="" alt="Ars OpenForum" width="" height="" /> </a> </div> <div class="p-nav-opposite"> <div class="p-navgroup p-discovery"> <a href="/civis/forums/-/-/th-nnm-navigate" class="p-navgroup-link p-navgroup-link--thNnnNavigate" data-xf-click="overlay" aria-label="Browse all forums"> <i class="fa--xf far fa-sitemap" aria-hidden="true"></i> </a> <div class="uix_searchBar"> <div class="uix_searchBarInner"> <form action="/civis/search/search" method="post" class="uix_searchForm" data-xf-init="quick-search"> <a class="uix_search--close"> <i class="fa--xf far fa-window-close" aria-hidden="true"></i> </a> <input type="text" class="input js-uix_syncValue uix_searchInput uix_searchDropdown__trigger" autocomplete="off" data-uixsync="search" name="keywords" placeholder="Search…" aria-label="Search" data-menu-autofocus="true" /> <a href="/civis/search/" class="uix_search--settings u-ripple" data-xf-key="/" aria-label="Search" aria-expanded="false" aria-haspopup="true" title="Search"> <i class="fa--xf far fa-cog" aria-hidden="true"></i> </a> <span class=" uix_searchIcon"> <i class="fa--xf far fa-search" aria-hidden="true"></i> </span> <input type="hidden" name="_xfToken" value="1739850300,8536f2f319c20c8516b6a9945c6e6a3f" /> </form> </div> <a class="uix_searchIconTrigger p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search u-ripple" aria-label="Search" aria-expanded="false" aria-haspopup="true" title="Search"> <i aria-hidden="true"></i> </a> <a href="/civis/search/" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search u-ripple js-uix_minimalSearch__target" data-xf-click="menu" aria-label="Search" aria-expanded="false" aria-haspopup="true" title="Search"> <i aria-hidden="true"></i> </a> <div class="menu menu--structural menu--wide" data-menu="menu" aria-hidden="true"> <form action="/civis/search/search" method="post" class="menu-content" data-xf-init="quick-search"> <h3 class="menu-header">Search</h3> <div class="menu-row"> <input type="text" class="input js-uix_syncValue" name="keywords" data-uixsync="search" placeholder="Search…" aria-label="Search" data-menu-autofocus="true" /> </div> <div class="menu-row"> <label class="iconic"><input type="checkbox" name="c[title_only]" value="1" /><i aria-hidden="true"></i><span class="iconic-label">Search titles only <span tabindex="0" role="button" data-xf-init="tooltip" data-trigger="hover focus click" title="Tags will also be searched"> <i class="fa--xf far fa-question-circle u-muted u-smaller" aria-hidden="true"></i> </span></span></label> </div> <div class="menu-row"> <div class="inputGroup"> <span class="inputGroup-text" id="ctrl_search_menu_by_member">By:</span> <input type="text" class="input" name="c[users]" data-xf-init="auto-complete" placeholder="Member" aria-labelledby="ctrl_search_menu_by_member" /> </div> </div> <div class="menu-footer"> <span class="menu-footer-controls"> <button type="submit" class="button--primary button button--icon button--icon--search"><span class="button-text">Search</span></button> <a href="/civis/search/" class="button"><span class="button-text">Advanced search…</span></a> </span> </div> <input type="hidden" name="_xfToken" value="1739850300,8536f2f319c20c8516b6a9945c6e6a3f" /> </form> </div> <div class="menu menu--structural menu--wide uix_searchDropdown__menu" aria-hidden="true"> <form action="/civis/search/search" method="post" class="menu-content" data-xf-init="quick-search"> <input name="keywords" class="js-uix_syncValue" data-uixsync="search" placeholder="Search…" aria-label="Search" type="hidden" /> <div class="menu-row"> <label class="iconic"><input type="checkbox" name="c[title_only]" value="1" /><i aria-hidden="true"></i><span class="iconic-label">Search titles only <span tabindex="0" role="button" data-xf-init="tooltip" data-trigger="hover focus click" title="Tags will also be searched"> <i class="fa--xf far fa-question-circle u-muted u-smaller" aria-hidden="true"></i> </span></span></label> </div> <div class="menu-row"> <div class="inputGroup"> <span class="inputGroup-text">By:</span> <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="Member" /> </div> </div> <div class="menu-footer"> <span class="menu-footer-controls"> <button type="submit" class="button--primary button button--icon button--icon--search"><span class="button-text">Search</span></button> <a href="/civis/search/" class="button" rel="nofollow"><span class="button-text">Advanced…</span></a> </span> </div> <input type="hidden" name="_xfToken" value="1739850300,8536f2f319c20c8516b6a9945c6e6a3f" /> </form> </div> </div> </div> </div> </div> </div> </header> <div class="p-navSticky p-navSticky--all " data-top-offset-breakpoints=" [ { &quot;breakpoint&quot;: &quot;0&quot;, &quot;offset&quot;: &quot;0&quot; } ,{ &quot;breakpoint&quot;: &quot;900px&quot;, &quot;offset&quot;: &quot;40px&quot; } ] " data-xf-init="sticky-header"> <nav class="p-nav"> <div class="p-nav-inner"> <button type="button" class="button--plain p-nav-menuTrigger badgeContainer button" data-badge="0" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" role="button" tabindex="0" aria-label="Menu"><span class="button-text"> <i aria-hidden="true"></i> </span></button> <div class="p-header-logo p-header-logo--image"> <a class="uix_logo" href="/civis/"> <img src="https://cdn.arstechnica.net/civis/styles/ars/ars/ars-open-forum.svg" srcset="" alt="Ars OpenForum" width="" height="" /> </a> </div> <div class="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected"> <div class="hScroller-scroll"> <ul class="p-nav-list js-offCanvasNavSource"> <li> <div class="p-navEl u-ripple " > <a href="https://arstechnica.com/" class="p-navEl-link " uix-tab-nav-icon="fa-home" data-xf-key="1" data-nav-id="home_ars"><span>Front Page</span></a> </div> </li> <li> <div class="p-navEl u-ripple " > <a href="/civis/forums/" class="p-navEl-link " uix-tab-nav-icon="fa-comment" data-xf-key="2" data-nav-id="forums"><span>Forums</span></a> </div> </li> <li> <div class="p-navEl u-ripple " > <a href="/civis/whats-new/posts/" class="p-navEl-link " data-xf-key="3" data-nav-id="newPosts"><span>New posts</span></a> </div> </li> <li> <div class="p-navEl u-ripple " > <a href="https://arstechnica.com/store/product/subscriptions/" class="p-navEl-link " data-xf-key="4" data-nav-id="user_upgrades"><span>Subscribe</span></a> </div> </li> </ul> </div> </div> <div class="p-nav-opposite"> <div class="p-navgroup p-account p-navgroup--guest"> <a href="/civis/login/" class="p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--logIn" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">Log in</span> </a> <a href="/civis/register/" class="button button--cta p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--register" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">Register</span> </a> </div> <div class="p-navgroup p-discovery"> <a href="/civis/forums/-/-/th-nnm-navigate" class="p-navgroup-link p-navgroup-link--thNnnNavigate" data-xf-click="overlay" aria-label="Browse all forums"> <i class="fa--xf far fa-sitemap" aria-hidden="true"></i> </a> <div class="uix_searchBar"> <div class="uix_searchBarInner"> <form action="/civis/search/search" method="post" class="uix_searchForm" data-xf-init="quick-search"> <a class="uix_search--close"> <i class="fa--xf far fa-window-close" aria-hidden="true"></i> </a> <input type="text" class="input js-uix_syncValue uix_searchInput uix_searchDropdown__trigger" autocomplete="off" data-uixsync="search" name="keywords" placeholder="Search…" aria-label="Search" data-menu-autofocus="true" /> <a href="/civis/search/" class="uix_search--settings u-ripple" data-xf-key="/" aria-label="Search" aria-expanded="false" aria-haspopup="true" title="Search"> <i class="fa--xf far fa-cog" aria-hidden="true"></i> </a> <span class=" uix_searchIcon"> <i class="fa--xf far fa-search" aria-hidden="true"></i> </span> <input type="hidden" name="_xfToken" value="1739850300,8536f2f319c20c8516b6a9945c6e6a3f" /> </form> </div> <a class="uix_searchIconTrigger p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search u-ripple" aria-label="Search" aria-expanded="false" aria-haspopup="true" title="Search"> <i aria-hidden="true"></i> </a> <a href="/civis/search/" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search u-ripple js-uix_minimalSearch__target" data-xf-click="menu" aria-label="Search" aria-expanded="false" aria-haspopup="true" title="Search"> <i aria-hidden="true"></i> </a> <div class="menu menu--structural menu--wide" data-menu="menu" aria-hidden="true"> <form action="/civis/search/search" method="post" class="menu-content" data-xf-init="quick-search"> <h3 class="menu-header">Search</h3> <div class="menu-row"> <input type="text" class="input js-uix_syncValue" name="keywords" data-uixsync="search" placeholder="Search…" aria-label="Search" data-menu-autofocus="true" /> </div> <div class="menu-row"> <label class="iconic"><input type="checkbox" name="c[title_only]" value="1" /><i aria-hidden="true"></i><span class="iconic-label">Search titles only <span tabindex="0" role="button" data-xf-init="tooltip" data-trigger="hover focus click" title="Tags will also be searched"> <i class="fa--xf far fa-question-circle u-muted u-smaller" aria-hidden="true"></i> </span></span></label> </div> <div class="menu-row"> <div class="inputGroup"> <span class="inputGroup-text" id="ctrl_search_menu_by_member">By:</span> <input type="text" class="input" name="c[users]" data-xf-init="auto-complete" placeholder="Member" aria-labelledby="ctrl_search_menu_by_member" /> </div> </div> <div class="menu-footer"> <span class="menu-footer-controls"> <button type="submit" class="button--primary button button--icon button--icon--search"><span class="button-text">Search</span></button> <a href="/civis/search/" class="button"><span class="button-text">Advanced search…</span></a> </span> </div> <input type="hidden" name="_xfToken" value="1739850300,8536f2f319c20c8516b6a9945c6e6a3f" /> </form> </div> <div class="menu menu--structural menu--wide uix_searchDropdown__menu" aria-hidden="true"> <form action="/civis/search/search" method="post" class="menu-content" data-xf-init="quick-search"> <input name="keywords" class="js-uix_syncValue" data-uixsync="search" placeholder="Search…" aria-label="Search" type="hidden" /> <div class="menu-row"> <label class="iconic"><input type="checkbox" name="c[title_only]" value="1" /><i aria-hidden="true"></i><span class="iconic-label">Search titles only <span tabindex="0" role="button" data-xf-init="tooltip" data-trigger="hover focus click" title="Tags will also be searched"> <i class="fa--xf far fa-question-circle u-muted u-smaller" aria-hidden="true"></i> </span></span></label> </div> <div class="menu-row"> <div class="inputGroup"> <span class="inputGroup-text">By:</span> <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="Member" /> </div> </div> <div class="menu-footer"> <span class="menu-footer-controls"> <button type="submit" class="button--primary button button--icon button--icon--search"><span class="button-text">Search</span></button> <a href="/civis/search/" class="button" rel="nofollow"><span class="button-text">Advanced…</span></a> </span> </div> <input type="hidden" name="_xfToken" value="1739850300,8536f2f319c20c8516b6a9945c6e6a3f" /> </form> </div> </div> </div> <div class="p-navgroup"> <a href="javascript:;" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--more" title="More options" data-xf-init="tooltip" aria-haspopup="true" data-xf-click="menu" aria-expanded="false"><i aria-hidden="true"></i></a> <div class="menu menu--structural menu--small" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h4 class="menu-header">More options</h4> <a href="javascript:;" class="menu-linkRow js-uix_togglePageWidth" rel="nofollow">Toggle width</a> </div> </div> </div> </div> </div> </nav> <div class="p-sectionLinks"> <div class="pageContent"> <div class="p-sectionLinks-inner hScroller" data-xf-init="h-scroller"> <div class="hScroller-scroll"> <ul class="p-sectionLinks-list"> <li> <div class="p-navEl u-ripple " > <a href="/civis/whats-new/latest-activity" class="p-navEl-link " data-xf-key="alt+1" data-nav-id="defaultLatestActivity"><span>Latest activity</span></a> </div> </li> <li> <div class="p-navEl u-ripple " > <a href="/civis/register/" class="p-navEl-link " data-xf-key="alt+2" data-nav-id="defaultRegister"><span>Register</span></a> </div> </li> </ul> </div> </div> </div> </div> </div> <div class="offCanvasMenu offCanvasMenu--nav js-headerOffCanvasMenu" data-menu="menu" aria-hidden="true" data-ocm-builder="navigation"> <div class="offCanvasMenu-backdrop" data-menu-close="true"></div> <div class="offCanvasMenu-content"> <div class="sidePanel sidePanel--nav sidePanel--visitor"> <div class="sidePanel__tabPanels"> <div data-content="navigation" class="is-active sidePanel__tabPanel js-navigationTabPanel"> <div class="offCanvasMenu-header"> Menu <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="Close"></a> </div> <div class="js-offCanvasNavTarget"></div> </div> </div> </div> <div class="offCanvasMenu-installBanner js-installPromptContainer" style="display: none;" data-xf-init="install-prompt"> <div class="offCanvasMenu-installBanner-header">Install the app</div> <button type="button" class="js-installPromptButton button"><span class="button-text">Install</span></button> </div> </div> </div> <div class="p-body"> <div class="p-body-inner "> <!--XF:EXTRA_OUTPUT--> <div class="breadcrumb "> <div class="pageContent"> <ul class="p-breadcrumbs " itemscope itemtype="https://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a href="/civis/help/" itemprop="item"> <span itemprop="name">Help</span> </a> <meta itemprop="position" content="1" /> </li> </ul> </div> </div> <noscript><div class="blockMessage blockMessage--important blockMessage--iconic u-noJsOnly">JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.</div></noscript> <div class="blockMessage blockMessage--important blockMessage--iconic js-browserWarning" style="display: none">You are using an out of date browser. It may not display this or other websites correctly.<br />You should upgrade or use an <a href="https://www.google.com/chrome/" target="_blank" rel="noopener">alternative browser</a>.</div> <div uix_component="MainContainer" class="uix_contentWrapper"> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NLXNPCQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <aside class="ad ad_crown" id="ad_crown_top"></aside> <div class="p-body-header"> <div class="pageContent"> <div class="uix_headerInner"> <div class="p-title "> <a href="javascript:;" class="ac_offCanvasNavButton button button--icon" data-xf-click="off-canvas" data-menu="#js-SideNavOcm"> <i class="fa--xf far fa-list" aria-hidden="true"></i> </a> <h1 class="p-title-value">BB codes</h1> </div> </div> </div> </div> <div data-iframe-size class="p-body-main p-body-main--withSideNav"> <div class="p-body-sideNav"> <div class="p-body-sideNavTrigger"> <button type="button" class="button--link button" data-xf-click="off-canvas" data-menu="#js-SideNavOcm"><span class="button-text"> Help pages </span></button> </div> <div class="p-body-sideNavInner " data-ocm-class="offCanvasMenu offCanvasMenu--blocks" id="js-SideNavOcm" data-ocm-builder="sideNav"> <div class="uix_sidebar--scroller"> <div data-ocm-class="offCanvasMenu-backdrop" data-menu-close="true"></div> <div data-ocm-class="offCanvasMenu-content"> <div class="p-body-sideNavContent"> <div class="block"> <div class="block-container"> <h2 class="block-header">Help</h2> <div class="block-body"> <a href="/civis/help/smilies/" class="blockLink ">Smilies</a> <a href="/civis/help/bb-codes/" class="blockLink is-selected">BB codes</a> <a href="/civis/help/cookies/" class="blockLink ">Cookie usage</a> <a href="https://arstechnica.com/staff/2000/01/postguide/" class="blockLink ">Terms and rules</a> <a href="https://www.condenast.com/privacy-policy/" class="blockLink ">Privacy policy</a> </div> </div> </div> </div> </div> </div> </div> </div> <div uix_component="MainContent" class="p-body-content"> <!-- ABOVE MAIN CONTENT --> <div class="p-body-pageContent"> <div class="block"> <div class="block-container"> <ul class="listPlain block-body"> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="basic"></span> <h3 class="block-textHeader"> [B], [I], [U], [S] - bold, Italic, Underline, Struck-through </h3> <div>Basic text formatting for the wrapped text.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd> This is [B]bold[/B] text.<br /> This is [I]italic[/I] text.<br /> This is [U]underlined[/U] text.<br /> This is [S]struck-through[/S] text. </dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd> <div class="bbWrapper">This is <b>bold</b> text.</div> <div class="bbWrapper">This is <i>italic</i> text.</div> <div class="bbWrapper">This is <u>underlined</u> text.</div> <div class="bbWrapper">This is <s>struck-through</s> text.</div> </dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="style"></span> <h3 class="block-textHeader"> [COLOR=<span class="block-textHeader-highlight">color</span>], [BGCOLOR=<span class="block-textHeader-highlight">color</span>], [FONT=<span class="block-textHeader-highlight">font</span>], [SIZE=<span class="block-textHeader-highlight">size</span>] - Background color, Text color, Font, Size </h3> <div>Advanced text formatting options for wrapped text.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd> This is [COLOR=red]red[/COLOR] and [COLOR=#0000cc]blue[/COLOR] text.<br /> This is [BGCOLOR=#FAA]red[/BGCOLOR] and [BGCOLOR=#AAF]blue[/BGCOLOR] highlighted text.<br /> This is [FONT=Courier New]Courier New[/FONT] text.<br /> This is [SIZE=1]small[/SIZE] and [SIZE=7]big[/SIZE] text. </dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd> <div class="bbWrapper">This is <span style="color: red">red</span> and <span style="color: #0000cc">blue</span> text.</div> <div class="bbWrapper">This is <span style="background-color: #FAA;">red</span> and <span style="background-color: #AAF;">blue</span> highlighted text.</div> <div class="bbWrapper">This is <span style="font-family: 'Courier New'">Courier New</span> text.</div> <div class="bbWrapper">This is <span style="font-size: 9px">small</span> and <span style="font-size: 26px">big</span> text.</div> </dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="style"></span> <h3 class="block-textHeader"> [SUB], [SUP] - Subscript, Superscript </h3> <div>Position wrapped text.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd> This is [SUB]subscript[/SUB] text.<br /> This is [SUP]superscript[/SUP] text. </dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd> <div class="bbWrapper">This is <sub>subscript</sub> text.</div> <div class="bbWrapper">This is <sup>superscript</sup> text.</div> </dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="email-url"></span> <h3 class="block-textHeader">[URL], [EMAIL] - Linking</h3> <div>Creates a link using the wrapped text as the target.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[URL]https://www.example.com[/URL]<br /> [EMAIL]example@example.com[/EMAIL]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><a href="https://www.example.com" target="_blank" class="link link--external" rel="nofollow ugc noopener">https://www.example.com</a><br /> <a href="mailto:example@example.com">example@example.com</a></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="email-url-advanced"></span> <h3 class="block-textHeader">[URL=<span class="block-textHeader-highlight">link</span>], [EMAIL=<span class="block-textHeader-highlight">address</span>] - Linking (Advanced)</h3> <div>Links the wrapped text to the specified web page or email address.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[URL=https://www.example.com]Go to example.com[/URL]<br /> [EMAIL=example@example.com]Email me[/EMAIL]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><a href="https://www.example.com" target="_blank" class="link link--external" rel="nofollow ugc noopener">Go to example.com</a><br /> <a href="mailto:example@example.com">Email me</a></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="user-mention"></span> <h3 class="block-textHeader">[USER=<span class="block-textHeader-highlight">ID</span>] - Profile Linking</h3> <div>Links to a user's profile. This is generally inserted automatically when mentioning a user.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[USER=1]Username[/USER]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><a href="https://arstechnica.com/civis/members/1/" class="username" data-xf-init="member-tooltip" data-user-id="1" data-username="Username">Username</a></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="image"></span> <h3 class="block-textHeader">[IMG] - Image</h3> <div>Display an image, using the wrapped text as the URL.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[IMG]https://cdn.arstechnica.net/civis/styles/ars/ars/ars-open-forum.svg[/IMG]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><script class="js-extraPhrases" type="application/json"> { "lightbox_close": "Close", "lightbox_next": "Next", "lightbox_previous": "Previous", "lightbox_error": "The requested content cannot be loaded. Please try again later.", "lightbox_start_slideshow": "Start slideshow", "lightbox_stop_slideshow": "Stop slideshow", "lightbox_full_screen": "Full screen", "lightbox_thumbnails": "Thumbnails", "lightbox_download": "Download", "lightbox_share": "Share", "lightbox_zoom": "Zoom", "lightbox_new_window": "New window", "lightbox_toggle_sidebar": "Toggle sidebar" } </script> <div class="bbImageWrapper js-lbImage" title="ars-open-forum.svg" data-src="https://cdn.arstechnica.net/civis/styles/ars/ars/ars-open-forum.svg" data-lb-sidebar-href="" data-lb-caption-extra-html="" data-single-image="1"> <img src="https://cdn.arstechnica.net/civis/styles/ars/ars/ars-open-forum.svg" data-url="https://cdn.arstechnica.net/civis/styles/ars/ars/ars-open-forum.svg" class="bbImage" data-zoom-target="1" style="" alt="ars-open-forum.svg" title="" width="" height="" loading="lazy" /> </div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="video"></span> <h3 class="block-textHeader">[VIDEO] - Video</h3> <div>Displays a video, using the wrapped text as the URL.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[VIDEO]https://arstechnica.com/civis/styles/editor-manager/missing-video.mp3[/VIDEO]<br /> <br /> [VIDEO='width:300']https://arstechnica.com/civis/styles/editor-manager/missing-video.mp3[/VIDEO]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><script src="https://cdn.plyr.io/3.6.3/plyr.polyfilled.js"></script> <div class="bbCodeVideo" style=""> <video class="js-PlyrVideo" controls> <source src="https://arstechnica.com/civis/styles/editor-manager/missing-video.mp3" type="video/mp3"> Your browser does not support the video tag. </video> </div><br /> <br /> <script src="https://cdn.plyr.io/3.6.3/plyr.polyfilled.js"></script> <div class="bbCodeVideo" style="max-width:300px;"> <video class="js-PlyrVideo" controls> <source src="https://arstechnica.com/civis/styles/editor-manager/missing-video.mp3" type="video/mp3"> Your browser does not support the video tag. </video> </div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="audio"></span> <h3 class="block-textHeader">[AUDIO] - Audio</h3> <div>Displays an audio player, using the wrapped text as URL.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[AUDIO]https://arstechnica.com/civis/styles/editor-manager/missing-audio.mp3[/AUDIO]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><script src="https://cdn.plyr.io/3.6.3/plyr.polyfilled.js"></script> <div class="bbCodeAudio"> <audio class="js-PlyrAudio" controls> <source src="https://arstechnica.com/civis/styles/editor-manager/missing-audio.mp3" type="audio/mp3"> Your browser does not support the audio element. </audio> </div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="media"></span> <h3 class="block-textHeader">[MEDIA=<span class="block-textHeader-highlight">site</span>] - Embedded Media</h3> <div> Embeds media from approved sites into your message. It is recommended that you use the media button in the editor tool bar.<br /> Approved sites: <a href="https://abcnews.go.com/" target="_blank" rel="nofollow" dir="auto">ABC News</a>, <a href="https://play.acast.com/" target="_blank" rel="nofollow" dir="auto">Acast</a>, <a href="https://anchor.fm/" target="_blank" rel="nofollow" dir="auto">Anchor</a>, <a href="https://www.apple.com/music" target="_blank" rel="nofollow" dir="auto">Apple Music</a>, <a href="https://podcasts.apple.com/" target="_blank" rel="nofollow" dir="auto">Apple Podcasts</a>, <a href="https://audioboom.com/" target="_blank" rel="nofollow" dir="auto">Audioboom</a>, <a href="https://www.audiomack.com/" target="_blank" rel="nofollow" dir="auto">Audiomack</a>, <a href="https://audius.co/" target="_blank" rel="nofollow" dir="auto">Audius</a>, <a href="https://bandcamp.com/" target="_blank" rel="nofollow" dir="auto">Bandcamp</a>, <a href="https://www.bbc.com/news/video_and_audio/headlines/" target="_blank" rel="nofollow" dir="auto">BBC News</a>, <a href="https://www.bitchute.com/" target="_blank" rel="nofollow" dir="auto">BitChute</a>, <a href="https://bsky.app/" target="_blank" rel="nofollow" dir="auto">Bluesky</a>, <a href="https://www.brightcove.com/" target="_blank" rel="nofollow" dir="auto">Brightcove</a>, <a href="https://bunny.net/stream/" target="_blank" rel="nofollow" dir="auto">Bunny Stream</a>, <a href="https://www.captivate.fm/" target="_blank" rel="nofollow" dir="auto">Captivate</a>, <a href="https://castos.com/" target="_blank" rel="nofollow" dir="auto">Castos</a>, <a href="https://www.cbsnews.com/video/" target="_blank" rel="nofollow" dir="auto">CBS News Video</a>, <a href="https://clyp.it/" target="_blank" rel="nofollow" dir="auto">Clyp</a>, <a href="https://www.cnbc.com/video/" target="_blank" rel="nofollow" dir="auto">CNBC</a>, <a href="https://edition.cnn.com/video/" target="_blank" rel="nofollow" dir="auto">CNN</a>, <a href="https://money.cnn.com/video/" target="_blank" rel="nofollow" dir="auto">CNNMoney</a>, <a href="https://codepen.io/" target="_blank" rel="nofollow" dir="auto">CodePen</a>, <a href="https://www.cc.com/" target="_blank" rel="nofollow" dir="auto">Comedy Central</a>, <a href="https://coub.com/" target="_blank" rel="nofollow" dir="auto">Coub</a>, <a href="https://www.dailymotion.com/" target="_blank" rel="nofollow" dir="auto">Dailymotion</a>, <a href="https://www.democracynow.org/" target="_blank" rel="nofollow" dir="auto">Democracy Now!</a>, <a href="https://www.dumpert.nl/" target="_blank" rel="nofollow" dir="auto">dumpert</a>, <a href="https://8tracks.com/" target="_blank" rel="nofollow" dir="auto">8tracks</a>, <a href="https://www.espn.com/" target="_blank" rel="nofollow" dir="auto">ESPN</a>, <a href="https://www.facebook.com/" target="_blank" rel="nofollow" dir="auto">Facebook</a>, <a href="https://www.falstad.com/circuit/circuitjs.html" target="_blank" rel="nofollow" dir="auto">Falstad Circuit Simulator</a>, <a href="https://www.flickr.com/" target="_blank" rel="nofollow" dir="auto">Flickr</a>, <a href="https://www.foxnews.com/" target="_blank" rel="nofollow" dir="auto">Fox News</a>, <a href="https://www.funnyordie.com/" target="_blank" rel="nofollow" dir="auto">Funny or Die</a>, <a href="https://www.gamespot.com/" target="_blank" rel="nofollow" dir="auto">Gamespot</a>, <a href="https://www.gettyimages.com/" target="_blank" rel="nofollow" dir="auto">Getty Images</a>, <a href="https://gifs.com/" target="_blank" rel="nofollow" dir="auto">Gifs.com</a>, <a href="https://giphy.com/" target="_blank" rel="nofollow" dir="auto">GIPHY</a>, <a href="https://globalnews.ca/" target="_blank" rel="nofollow" dir="auto">Global News</a>, <a href="https://www.gofundme.com/" target="_blank" rel="nofollow" dir="auto">GoFundMe</a>, <a href="https://drive.google.com" target="_blank" rel="nofollow" dir="auto">Google Drive</a>, <a href="https://plus.google.com/" target="_blank" rel="nofollow" dir="auto">Google+</a>, <a href="https://www.google.com/sheets/about/" target="_blank" rel="nofollow" dir="auto">Google Sheets</a>, <a href="https://www.hudl.com/" target="_blank" rel="nofollow" dir="auto">Hudl</a>, <a href="https://www.hulu.com/" target="_blank" rel="nofollow" dir="auto">Hulu</a>, <a href="https://www.ign.com/videos/" target="_blank" rel="nofollow" dir="auto">IGN</a>, <a href="https://www.imdb.com/trailers/" target="_blank" rel="nofollow" dir="auto">IMDb trailers</a>, <a href="https://imgur.com/" target="_blank" rel="nofollow" dir="auto">Imgur</a>, <a href="https://www.indiegogo.com/" target="_blank" rel="nofollow" dir="auto">Indiegogo</a>, <a href="https://archive.org/" target="_blank" rel="nofollow" dir="auto">Internet Archive</a>, <a href="https://www.izlesene.com/" target="_blank" rel="nofollow" dir="auto">İzlesene</a>, <a href="https://jsfiddle.net/" target="_blank" rel="nofollow" dir="auto">JSFiddle</a>, <a href="https://www.jwplayer.com/products/jwplatform/" target="_blank" rel="nofollow" dir="auto">JW Platform</a>, <a href="https://corp.kaltura.com/" target="_blank" rel="nofollow" dir="auto">Kaltura</a>, <a href="https://www.khl.ru/" target="_blank" rel="nofollow" dir="auto">Kontinental Hockey League (КХЛ)</a>, <a href="https://www.kickstarter.com/" target="_blank" rel="nofollow" dir="auto">Kickstarter</a>, <a href="https://www.libsyn.com/" target="_blank" rel="nofollow" dir="auto">Libsyn</a>, <a href="https://www.liveleak.com/" target="_blank" rel="nofollow" dir="auto">Liveleak</a>, <a href="https://new.livestream.com/" target="_blank" rel="nofollow" dir="auto">Livestream</a>, <a href="https://my.mail.ru/" target="_blank" rel="nofollow" dir="auto">Mail.Ru</a>, <a href="https://mastodon.social/" target="_blank" rel="nofollow" dir="auto">Mastodon</a>, <a href="https://medium.com/" target="_blank" rel="nofollow" dir="auto">Medium</a>, <a href="https://megaphone.fm/" target="_blank" rel="nofollow" dir="auto">Megaphone</a>, <a href="https://www.metacafe.com/" target="_blank" rel="nofollow" dir="auto">Metacafe</a>, <a href="https://www.mixcloud.com/" target="_blank" rel="nofollow" dir="auto">Mixcloud</a>, <a href="https://mlb.com/video/" target="_blank" rel="nofollow" dir="auto">MLB</a>, <a href="https://www.mrctv.org/" target="_blank" rel="nofollow" dir="auto">MRCTV</a>, <a href="https://www.msnbc.com/watch" target="_blank" rel="nofollow" dir="auto">MSNBC</a>, <a href="https://nachovideo.com/" target="_blank" rel="nofollow" dir="auto">Nacho Video</a>, <a href="https://channel.nationalgeographic.com/" target="_blank" rel="nofollow" dir="auto">National Geographic Channel</a>, <a href="https://video.nationalgeographic.com/" target="_blank" rel="nofollow" dir="auto">National Geographic Video</a>, <a href="https://www.nbcnews.com/video/" target="_blank" rel="nofollow" dir="auto">NBC News</a>, <a href="https://www.nhl.com/video" target="_blank" rel="nofollow" dir="auto">NHL Videos and Highlights</a>, <a href="https://www.nytimes.com/video/" target="_blank" rel="nofollow" dir="auto">The New York Times Video</a>, <a href="https://odysee.com/" target="_blank" rel="nofollow" dir="auto">Odysee</a>, <a href="https://www.on3.com/db/" target="_blank" rel="nofollow" dir="auto">On3 DB</a>, <a href="https://www.orfium.com/" target="_blank" rel="nofollow" dir="auto">Orfium</a>, <a href="https://pastebin.com/" target="_blank" rel="nofollow" dir="auto">Pastebin</a>, <a href="https://www.pinterest.com/" target="_blank" rel="nofollow" dir="auto">Pinterest</a>, <a href="https://www.podbean.com/" target="_blank" rel="nofollow" dir="auto">Podbean</a>, <a href="https://prezi.com/" target="_blank" rel="nofollow" dir="auto">Prezi</a>, <a href="https://www.reddit.com/" target="_blank" rel="nofollow" dir="auto">Reddit threads and comments</a>, <a href="https://rumble.com/" target="_blank" rel="nofollow" dir="auto">Rumble</a>, <a href="https://rutube.ru/" target="_blank" rel="nofollow" dir="auto">Rutube</a>, <a href="https://www.scribd.com/" target="_blank" rel="nofollow" dir="auto">Scribd</a>, <a href="https://www.sendvid.com/" target="_blank" rel="nofollow" dir="auto">Sendvid</a>, <a href="https://www.slideshare.net/" target="_blank" rel="nofollow" dir="auto">SlideShare</a>, <a href="https://soundcloud.com/" target="_blank" rel="nofollow" dir="auto">SoundCloud</a>, <a href="https://www.sporcle.com/" target="_blank" rel="nofollow" dir="auto">Sporcle</a>, <a href="https://www.sportsnet.ca/" target="_blank" rel="nofollow" dir="auto">Sportsnet</a>, <a href="https://www.spotify.com/" target="_blank" rel="nofollow" dir="auto">Spotify</a>, <a href="https://www.spreaker.com" target="_blank" rel="nofollow" dir="auto">Spreaker</a>, <a href="https://store.steampowered.com/" target="_blank" rel="nofollow" dir="auto">Steam store</a>, <a href="https://strawpoll.me/" target="_blank" rel="nofollow" dir="auto">Straw Poll</a>, <a href="https://streamable.com/" target="_blank" rel="nofollow" dir="auto">Streamable</a>, <a href="https://teamcoco.com/" target="_blank" rel="nofollow" dir="auto">Team Coco</a>, <a href="https://www.ted.com/" target="_blank" rel="nofollow" dir="auto">TED Talks</a>, <a href="https://telegram.org/" target="_blank" rel="nofollow" dir="auto">Telegram</a>, <a href="https://www.theatlantic.com/video/" target="_blank" rel="nofollow" dir="auto">The Atlantic Video</a>, <a href="https://www.theguardian.com/video" target="_blank" rel="nofollow" dir="auto">The Guardian (obsolete)</a>, <a href="https://www.theonion.com/video/" target="_blank" rel="nofollow" dir="auto">The Onion</a>, <a href="https://www.threads.net/" target="_blank" rel="nofollow" dir="auto">Threads</a>, <a href="https://www.tiktok.com" target="_blank" rel="nofollow" dir="auto">TikTok</a>, <a href="https://www.tmz.com/videos" target="_blank" rel="nofollow" dir="auto">TMZ</a>, <a href="https://www.tradingview.com/" target="_blank" rel="nofollow" dir="auto">TradingView</a>, <a href="https://www.traileraddict.com/" target="_blank" rel="nofollow" dir="auto">Trailer Addict</a>, <a href="https://trendingviews.com/" target="_blank" rel="nofollow" dir="auto">Trending Views</a>, <a href="https://www.tumblr.com/" target="_blank" rel="nofollow" dir="auto">Tumblr</a>, <a href="https://247sports.com/" target="_blank" rel="nofollow" dir="auto">247Sports</a>, <a href="https://www.twitch.tv/" target="_blank" rel="nofollow" dir="auto">Twitch</a>, <a href="https://twitter.com/" target="_blank" rel="nofollow" dir="auto">X</a>, <a href="https://www.ustream.tv/" target="_blank" rel="nofollow" dir="auto">Ustream</a>, <a href="https://vbox7.com/" target="_blank" rel="nofollow" dir="auto">VBOX7</a>, <a href="https://www.veoh.com/" target="_blank" rel="nofollow" dir="auto">Veoh</a>, <a href="https://vevo.com/" target="_blank" rel="nofollow" dir="auto">Vevo</a>, <a href="https://www.videodetective.com/" target="_blank" rel="nofollow" dir="auto">Video Detective</a>, <a href="https://vimeo.com/" target="_blank" rel="nofollow" dir="auto">Vimeo</a>, <a href="https://vine.co/" target="_blank" rel="nofollow" dir="auto">Vine</a>, <a href="https://vk.com/" target="_blank" rel="nofollow" dir="auto">VK</a>, <a href="https://vocaroo.com/" target="_blank" rel="nofollow" dir="auto">Vocaroo</a>, <a href="https://www.vox.com/" target="_blank" rel="nofollow" dir="auto">Vox</a>, <a href="https://www.washingtonpost.com/video/" target="_blank" rel="nofollow" dir="auto">Washington Post Video</a>, <a href="https://wavekit.app/" target="_blank" rel="nofollow" dir="auto">Wavekit</a>, <a href="https://wistia.com/" target="_blank" rel="nofollow" dir="auto">Wistia</a>, <a href="https://www.worldstarhiphop.com/" target="_blank" rel="nofollow" dir="auto">WorldStarHipHop</a>, <a href="https://www.wsj.com/video/" target="_blank" rel="nofollow" dir="auto">The Wall Street Journal Online</a>, <a href="https://x.com/" target="_blank" rel="nofollow" dir="auto">X (Twitter)</a>, <a href="https://gameclips.io/" target="_blank" rel="nofollow" dir="auto">GameClips.io</a>, <a href="https://gamerdvr.com/" target="_blank" rel="nofollow" dir="auto">Gamer DVR</a>, XenForo, <a href="https://www.youku.com/" target="_blank" rel="nofollow" dir="auto">Youku</a>, <a href="https://www.youmaker.com/" target="_blank" rel="nofollow" dir="auto">YouMaker</a>, <a href="https://www.youtube.com/" target="_blank" rel="nofollow" dir="auto">YouTube</a> </div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[MEDIA=youtube]oHg5SJYRHA0[/MEDIA]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><i>An embedded YouTube player would appear here.</i></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="list"></span> <h3 class="block-textHeader">[LIST] - Lists</h3> <div>Displays a bulleted or numbered list.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[LIST]<br /> [*]Bullet 1<br /> [*]Bullet 2<br /> [/LIST]<br /> [LIST=1]<br /> [*]Entry 1<br /> [*]Entry 2<br /> [/LIST]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><ul> <li data-xf-list-type="ul">Bullet 1</li> <li data-xf-list-type="ul">Bullet 2</li> </ul><ol> <li data-xf-list-type="ol">Entry 1</li> <li data-xf-list-type="ol">Entry 2</li> </ol></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="align"></span> <h3 class="block-textHeader">[LEFT], [RIGHT], [CENTER], [JUSTIFY] - Text alignment</h3> <div>Changes the alignment of the wrapped text.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[LEFT]Left-aligned[/LEFT]<br /> [CENTER]Center-aligned[/CENTER]<br /> [RIGHT]Right-aligned[/RIGHT]<br /> [JUSTIFY]This is a justified text block. This is a justified text block. This is a justified text block. This is a justified text block. This is a justified text block. This is a justified text block.[/JUSTIFY]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><div style="text-align: left">Left-aligned&#8203;</div><div style="text-align: center">Center-aligned&#8203;</div><div style="text-align: right">Right-aligned&#8203;</div><div style="text-align: justify">This is a justified text block. This is a justified text block. This is a justified text block. This is a justified text block. This is a justified text block. This is a justified text block.&#8203;</div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="quote"></span> <h3 class="block-textHeader">[QUOTE] - Quoted text</h3> <div>Displays text that has been quoted from another source. You may also attribute the name of the source.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[QUOTE]Quoted text[/QUOTE]<br /> [QUOTE=A person]Something they said[/QUOTE]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><blockquote data-attributes="" data-quote="" data-source="" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Quoted text </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Click to expand...</a></div> </div> </blockquote> <blockquote data-attributes="" data-quote="A person" data-source="" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> A person said: </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Something they said </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Click to expand...</a></div> </div> </blockquote></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="spoiler"></span> <h3 class="block-textHeader">[SPOILER] - Text containing spoilers</h3> <div>Hides text that may contain spoilers so that it must be clicked by the viewer to be seen.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[SPOILER]Simple spoiler[/SPOILER]<br /> [SPOILER=Spoiler Title]Spoiler with a title[/SPOILER]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><div class="bbCodeSpoiler"> <button type="button" class="bbCodeSpoiler-button button" data-xf-click="toggle" data-xf-init="tooltip" title="Click to reveal or hide spoiler"><span class="button-text"> <span>Spoiler</span> </span></button> <div class="bbCodeSpoiler-content"> <div class="bbCodeBlock bbCodeBlock--spoiler"> <div class="bbCodeBlock-content">Simple spoiler</div> </div> </div> </div> <div class="bbCodeSpoiler"> <button type="button" class="bbCodeSpoiler-button button--longText button" data-xf-click="toggle" data-xf-init="tooltip" title="Click to reveal or hide spoiler"><span class="button-text"> <span>Spoiler: <span class="bbCodeSpoiler-button-title">Spoiler Title</span></span> </span></button> <div class="bbCodeSpoiler-content"> <div class="bbCodeBlock bbCodeBlock--spoiler"> <div class="bbCodeBlock-content">Spoiler with a title</div> </div> </div> </div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="ispoiler"></span> <h3 class="block-textHeader">[ISPOILER] - Inline text containing spoilers</h3> <div>Hides text that may contain spoilers so that it must be clicked by the viewer to be seen.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>You have to click the following [ISPOILER]word[/ISPOILER] to see the content.</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper">You have to click the following <span class="bbCodeInlineSpoiler" data-xf-click="toggle-class" data-class="bbCodeInlineSpoiler">word</span> to see the content.</div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="code"></span> <h3 class="block-textHeader">[CODE] - Programming code display</h3> <div>Displays text in one of several programming languages, highlighting the syntax where possible.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>General code:<br /> [CODE]General<br /> code[/CODE]<br /> <br /> Rich code:<br /> [CODE=rich][COLOR=red]Rich[/COLOR]<br /> code[/CODE]<br /> <br /> PHP code:<br /> [CODE=php]echo $hello . ' world';[/CODE]<br /> <br /> JS code:<br /> [CODE=javascript]var hello = 'world';[/CODE]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper">General code:<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code>General code</code></pre> </div> </div><br /> Rich code:<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Rich (BB code): </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code><span style="color: red">Rich</span> code</code></pre> </div> </div><br /> PHP code:<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> PHP: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="php"><code>echo $hello . ' world';</code></pre> </div> </div><br /> JS code:<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> JavaScript: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang="javascript"><code>var hello = 'world';</code></pre> </div> </div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="icode"></span> <h3 class="block-textHeader">[ICODE] - Inline programming code display</h3> <div>Allows you to display code inline among normal post content. Syntax will not be highlighted.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>Inline code sections [ICODE]are a convenient way[/ICODE] of displaying code inline.<br /> <br /> Rich formatting within inline code sections [ICODE=rich]is [COLOR=red]also[/COLOR] [U]supported[/U][/ICODE].</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper">Inline code sections <code class="bbCodeInline">are a convenient way</code> of displaying code inline.<br /> <br /> Rich formatting within inline code sections <code class="bbCodeInline">is <span style="color: red">also</span> <u>supported</u></code>.</div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="table"></span> <h3 class="block-textHeader">[TABLE] - Tables</h3> <div>Special markup to display tables in your content.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[TABLE]<br /> [TR]<br /> [TH]Header 1[/TH]<br /> [TH]Header 2[/TH]<br /> [/TR]<br /> [TR]<br /> [TD]Content 1[/TD]<br /> [TD]Content 2[/TD]<br /> [/TR]<br /> [/TABLE]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><div class="bbTable"> <table class="" style="width: 100%"> <tr><th>Header 1</th><th>Header 2</th></tr><tr><td>Content 1</td><td>Content 2</td></tr> </table> </div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="table"></span> <h3 class="block-textHeader">[TABLE=<span class="block-textHeader-highlight">class</span>] - Tables (Advanced)</h3> <div>Advanced table styling.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>Option adds additional styling.<br /> [TABLE=noborder]<br /> [TR]<br /> [TH]Header 1[/TH]<br /> [TH]Header 2[/TH]<br /> [/TR]<br /> [TR]<br /> [TD]Content 1[/TD]<br /> [TD]Content 2[/TD]<br /> [/TR]<br /> [/TABLE]<br /> <br /> Multiple styles can be combined.<br /> [TABLE=collapse,right,nobackground]<br /> [TR]<br /> [TH]Header 1[/TH]<br /> [TH]Header 2[/TH]<br /> [/TR]<br /> [TR]<br /> [TD]Content 1[/TD]<br /> [TD]Content 2[/TD]<br /> [/TR]<br /> [/TABLE]<br /> <br /> [TABLE=collapse,center,alternate]<br /> [TR]<br /> [TH]Header 1[/TH]<br /> [TH]Header 2[/TH]<br /> [/TR]<br /> [TR]<br /> [TD]Content 1[/TD]<br /> [TD]Content 2[/TD]<br /> [/TR]<br /> [TR]<br /> [TD]Content 1[/TD]<br /> [TD]Content 2[/TD]<br /> [/TR]<br /> [/TABLE]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper">Option adds additional styling.<br /> <div class="bbTable"> <table class="noborder" style="width: 100%"> <tr><th>Header 1</th><th>Header 2</th></tr><tr><td>Content 1</td><td>Content 2</td></tr> </table> </div><br /> Multiple styles can be combined.<br /> <div class="bbTable"> <table class="collapse right nobackground" style="width: 100%"> <tr><th>Header 1</th><th>Header 2</th></tr><tr><td>Content 1</td><td>Content 2</td></tr> </table> </div><br /> <div class="bbTable"> <table class="collapse center alternate" style="width: 100%"> <tr><th>Header 1</th><th>Header 2</th></tr><tr><td>Content 1</td><td>Content 2</td></tr><tr><td>Content 1</td><td>Content 2</td></tr> </table> </div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="heading"></span> <h3 class="block-textHeader">[HEADING=<span class="block-textHeader-highlight">level</span>] - Headings levels 1 to 3</h3> <div>Marks text as a structured heading to facilitate machine readability.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[HEADING=1]Major heading[/HEADING]<br /> This text comes under a major heading, used to separate the primary sections of an article.<br /> <br /> [HEADING=2]Minor heading[/HEADING]<br /> When you need to subdivide the primary sections of an article, use a level 2 minor heading.<br /> <br /> [HEADING=3]Subheading[/HEADING]<br /> If you require additional subdivision, you may drop to level 3.</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><h2>Major heading&#8203;</h2>This text comes under a major heading, used to separate the primary sections of an article.<br /> <br /> <h3>Minor heading&#8203;</h3>When you need to subdivide the primary sections of an article, use a level 2 minor heading.<br /> <br /> <h4>Subheading&#8203;</h4>If you require additional subdivision, you may drop to level 3.</div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="indent"></span> <h3 class="block-textHeader">[INDENT] - Text indent</h3> <div>Indents the wrapped text. This can be nested for larger indentings.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>Regular text<br /> [INDENT]Indented text[/INDENT]<br /> [INDENT=2]More indented[/INDENT]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper">Regular text<br /> <div style="margin-left: 20px">Indented text&#8203;</div><div style="margin-left: 40px">More indented&#8203;</div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="plain"></span> <h3 class="block-textHeader">[PLAIN] - Plain text</h3> <div>Disables BB code translation on the wrapped text.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[PLAIN]This is not [B]bold[/B] text.[/PLAIN]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper">This is not [B]bold[/B] text.</div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="attach"></span> <h3 class="block-textHeader">[ATTACH] - Attachment insertion</h3> <div>Inserts an attachment at the specified point. If the attachment is an image, a thumbnail or full size version will be inserted. This will generally be inserted by clicking the appropriate button.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd> Thumbnail: [ATTACH]123[/ATTACH]<br /> Full size: [ATTACH=full]123[/ATTACH] </dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><i>The contents of the attachments would appear here.</i></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="indent"></span> <h3 class="block-textHeader">[HIDE], [HIDEPOSTS], [HIDEREPLY], [HIDETHANKS], [HIDEREPLYTHANKS], [HIDEGROUP] - Hide content</h3> <div>Hides wrapped text until certain conditions are fullfilled.</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[HIDE]Hides wrapped content.[/HIDE]<br /> <br /> [HIDEPOSTS]Hides until user reached number of posts.[/HIDEPOSTS]<br /> <br /> [HIDEREPLY]Hides content until viewer replied to thread.[/HIDEREPLY]<br /> <br /> [HIDETHANKS]Hides content until viewer reacted to content.[/HIDETHANKS]<br /> <br /> [HIDEREPLYTHANKS]Hides content until viewer replied to thread or reacted to content.[/HIDEREPLYTHANKS]<br /> <br /> [HIDEGROUP=administrator]Hides content for non-administrators.[/HIDEGROUP]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><div class="bbCodeBlock bbCodeBlock--hide bbCodeBlock--hidden"> <div class="bbCodeBlock-title"> <i class="fa--xf far fa-eye-slash" aria-hidden="true"></i> Hidden content </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent"> You need to reply to this thread in order to see this content. </div> </div> </div> <div class="bbCodeBlock bbCodeBlock--hide bbCodeBlock--hidden"> <div class="bbCodeBlock-title"> <i class="fa--xf far fa-eye-slash" aria-hidden="true"></i> Hidden content </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent"> You need -1 more posts to view this content </div> </div> </div> <div class="bbCodeBlock bbCodeBlock--hide bbCodeBlock--hidden"> <div class="bbCodeBlock-title"> <i class="fa--xf far fa-eye-slash" aria-hidden="true"></i> Hidden content </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent"> You need to reply to this thread in order to see this content. </div> </div> </div> <div class="bbCodeBlock bbCodeBlock--hide bbCodeBlock--hidden"> <div class="bbCodeBlock-title"> <i class="fa--xf far fa-eye-slash" aria-hidden="true"></i> Hidden content </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent"> You need to react to this post in order to see this content. </div> </div> </div> <div class="bbCodeBlock bbCodeBlock--hide bbCodeBlock--hidden"> <div class="bbCodeBlock-title"> <i class="fa--xf far fa-eye-slash" aria-hidden="true"></i> Hidden content </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent"> You need to reply to this thread or react to this post in order to see this content. </div> </div> </div> <div class="bbCodeBlock bbCodeBlock--hide bbCodeBlock--hidden"> <div class="bbCodeBlock-title"> <i class="fa--xf far fa-eye-slash" aria-hidden="true"></i> Hidden content </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent"> You need to be in at least one of the following groups to see this content: Administrative </div> </div> </div></div></dd> </dl> </div> </li> <li class="bbCodeHelpItem block-row block-row--separated"> <span class="u-anchorTarget" id="scroll"></span> <h3 class="block-textHeader"> [SCROLL=<span class="block-textHeader-highlight">option</span>] - Scroll </h3> <div>Scroll, options are left right up down</div> <div class="bbCodeDemoBlock"> <dl class="bbCodeDemoBlock-item"> <dt>Example:</dt> <dd>[scroll=right]This text will scroll right[/scroll]</dd> </dl> <dl class="bbCodeDemoBlock-item"> <dt>Output:</dt> <dd><div class="bbWrapper"><marquee behavior ="scroll" scrollamount="1" scrolldelay="1" truespeed direction="right">This text will scroll right</marquee></div></dd> </dl> </div> </li> </ul> </div> </div> </div> <!-- BELOW MAIN CONTENT --> </div> </div> </div> <div class="breadcrumb p-breadcrumb--bottom"> <div class="pageContent"> <ul class="p-breadcrumbs p-breadcrumbs--bottom" itemscope itemtype="https://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a href="/civis/help/" itemprop="item"> <span itemprop="name">Help</span> </a> <meta itemprop="position" content="1" /> </li> </ul> </div> </div> </div> </div> <footer class="p-footer" id="footer"> <div class="p-footer-inner"> <div class="pageContent"> <div class="p-footer-row"> <div class="p-footer-row-main"> <ul class="p-footer-linkList p-footer-choosers"> <li><a id="uix_widthToggle--trigger" data-xf-init="tooltip" title="Toggle width" rel="nofollow"><i class="fa--xf far fa-compress-alt" aria-hidden="true"></i></a></li> <li><a href="/civis/misc/style" data-xf-click="overlay" data-xf-init="tooltip" title="Style chooser" rel="nofollow">Autodetect theme</a></li> <li> <label class="thstyleswitch_toggleSwitch" data-xf-init="tooltip" title="Toggle style"> <input type="checkbox" class="thstyleswitch_toggleSwitch__checkbox" /> <span class="thstyleswitch_toggleSwitch__slider"></span> </label> </li> </ul> </div> </div> <div class="p-footer-row-opposite"> <ul class="p-footer-linkList"> <li><a href="https://arstechnica.com/contact-us/" data-xf-click="">Contact us</a></li> <li><a href="/staff/2000/01/postguide/">Posting guidelines</a></li> <li><a href="https://arstechnica.com/staff/2000/01/postguide/">Terms and rules</a></li> <li><a href="https://www.condenast.com/privacy-policy/">Privacy policy</a></li> <li><a href="/civis/help/">Help</a></li> <li><a href="#top" title="Top" data-xf-click="scroll-to"><i class="fa fa-arrow-up" aria-hidden="true"></i></a></li> <li><a href="/civis/forums/-/index.rss" target="_blank" class="p-footer-rssLink" title="RSS"><span aria-hidden="true"><i class="fa fa-rss"></i><span class="u-srOnly">RSS</span></span></a></li> </ul> </div> </div> </div> <div class="p-footer-copyrightRow"> <div class="pageContent"> <div class="uix_copyrightBlock"> <div class="p-footer-copyright"> <a href="https://xenforo.com" class="u-concealed" dir="ltr" target="_blank" rel="sponsored noopener">Community platform by XenForo<sup>&reg;</sup> <span class="copyright">&copy; 2010-2021 XenForo Ltd.</span></a> </div> </div> </div> </div> </footer> </div> </div> <div class="u-bottomFixer js-bottomFixTarget"> </div> <script> if (typeof (window.themehouse) !== 'object') { window.themehouse = {}; } if (typeof (window.themehouse.settings) !== 'object') { window.themehouse.settings = {}; } window.themehouse.settings = { common: { '20210125': { init: false, }, }, data: { version: '2.2.8.1.0', jsVersion: 'No JS Files', templateVersion: '2.1.8.0_Release', betaMode: 0, theme: '', url: 'https://arstechnica.com/civis/', user: '0', }, inputSync: {}, minimalSearch: { breakpoint: "900px", dropdownBreakpoint: "900", }, sidebar: { enabled: '1', link: '/civis/uix/toggle-sidebar.json?t=1739850300%2C8536f2f319c20c8516b6a9945c6e6a3f', state: '', }, sidebarNav: { enabled: '', link: '/civis/uix/toggle-sidebar-navigation.json?t=1739850300%2C8536f2f319c20c8516b6a9945c6e6a3f', state: '', }, fab: { enabled: 0, }, checkRadius: { enabled: 0, selectors: '.p-footer-inner, .uix_extendedFooter, .p-nav, .p-sectionLinks, .p-staffBar, .p-header, #wpadminbar', }, nodes: { enabled: 1, }, nodesCollapse: { enabled: '1', link: '/civis/uix/toggle-category.json?t=1739850300%2C8536f2f319c20c8516b6a9945c6e6a3f', state: '', }, widthToggle: { enabled: '1', link: '/civis/uix/toggle-width.json?t=1739850300%2C8536f2f319c20c8516b6a9945c6e6a3f', state: 'fixed', }, } window.document.addEventListener('DOMContentLoaded', function() { try { window.themehouse.common['20210125'].init(); window.themehouse.common['20180112'] = window.themehouse.common['20210125']; // custom projects fallback } catch(e) { console.log('Error caught', e); } var jsVersionPrefix = 'No JS Files'; if (typeof(window.themehouse.settings.data.jsVersion) === 'string') { var jsVersionSplit = window.themehouse.settings.data.jsVersion.split('_'); if (jsVersionSplit.length) { jsVersionPrefix = jsVersionSplit[0]; } } var templateVersionPrefix = 'No JS Template Version'; if (typeof(window.themehouse.settings.data.templateVersion) === 'string') { var templateVersionSplit = window.themehouse.settings.data.templateVersion.split('_'); if (templateVersionSplit.length) { templateVersionPrefix = templateVersionSplit[0]; } } if (jsVersionPrefix !== templateVersionPrefix) { var splitFileVersion = jsVersionPrefix.split('.'); var splitTemplateVersion = templateVersionPrefix.split('.'); console.log('version mismatch', jsVersionPrefix, templateVersionPrefix); } }); </script> <script src="https://cdn.arstechnica.net/civis/js/vendor/jquery/jquery-3.5.1.min.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/vendor/vendor-compiled.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/xf/core-compiled.js?_v=22f617b4"></script> <!-- Snowplow begin --> <script type='text/javascript' id='snowplow-js-before'> window.snowplowQueue = window.snowplowQueue || []; window.snowplowContexts = {"site":{"orgId":"4gKgcFGUFUvCGFzHakTPfYp85Yi8","orgAppId":null,"appVersion":null,"env":"production"},"content":{"functionalTags":null,"hasBuyButtons":null,"noOfRevisions":null,"editorNames":null,"author_name":null,"contentId":null,"contentLength":null,"contentTitle":null,"contentSource":"web","authorIds":null,"publishDate":null,"modifiedDate":null,"tags":null,"contentLang":"en-US","galleryName":null,"totalGalleryImages":null,"wordCount":null,"contentType":null,"templateType":null,"primaryTag":null,"contentFlag":null,"isCommerceContent":null,"pageTypeProperties":null,"section":null,"subsection":null,"subsection2":null,"dataSource":"web"},"syndication":{"content":null,"originalSource":null,"originalContentLanguage":null},"page":{"canonical":null,"syndicatorUrl":null},"user":{"amguuid":null}}; window.snowplowConfig = {"SNOWPLOW_COLLECTOR":"c.arstechnica.com","SNOWPLOW_SCRIPT":"https:\/\/globalservices.conde.digital\/p77xzrbz9z.js","AVO_API_KEY":"FTJO6mVPBIzdGhjn2Ruy","APP_ID":"ars-technica","APP_NAME":"ars-technica","APP_ENV":"production","APP_VERSION":"1.0.0","COOKIE_DOMAIN":".arstechnica.com"}; </script> <script type='text/javascript' src='https://cdn.arstechnica.net/wp-content/mu-plugins/ars-snowplow/ars-snowplow-js/dist/main-1-0-4.js?ver=1.0.4' id='snowplow-js'></script> <!-- Snowplow end --> <script src="https://cdn.arstechnica.net/civis/js/themehouse/styleswitch/global.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/xf/lightbox-compiled.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/editor-manager/video-audio.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/xf/code_block-compiled.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/audentio/guest-prompts/overlay.min.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/audentio/wpconnect/thread.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/vendor/iframe-resizer.child.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/audentio/logincookie/logincookie.min.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/acui/ripple.min.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/global/20210125.min.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/acui/index.min.js?_v=22f617b4"></script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/acui/vendor/hover-intent/jquery.hoverIntent.min.js?_v=22f617b4"></script> <script> $(document).ready(function() { var style = 'dark'; $('.uix_styleToggle').click(function() { themehouse.styleSwitch.switchStyle(style); if (style == 'light') { style = 'dark' } else { style = 'light'; } }); }); </script> <script> // detect android device. Added to fix the dark pixel bug https://github.com/Audentio/xf2theme-issues/issues/1055 $(document).ready(function() { var ua = navigator.userAgent.toLowerCase(); var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile"); if(isAndroid) { $('html').addClass('device--isAndroid'); } }) </script> <script> $(document).ready(function() { var sidebar = $('.p-body-sidebar'); var backdrop = $('.p-body-sidebar [data-ocm-class="offCanvasMenu-backdrop"]'); $('.uix_sidebarCanvasTrigger').click(function(e) { e.preventDefault(); sidebar.css('display', 'block'); window.setTimeout(function() { sidebar.addClass('offCanvasMenu offCanvasMenu--blocks is-active is-transitioning'); $('body').addClass('sideNav--open'); }, 50); window.setTimeout(function() { sidebar.removeClass('is-transitioning'); }, 250); $('.uix_sidebarInner').addClass('offCanvasMenu-content'); backdrop.addClass('offCanvasMenu-backdrop'); $('body').addClass('is-modalOpen'); }); backdrop.click(function() { sidebar.addClass('is-transitioning'); sidebar.removeClass('is-active'); window.setTimeout(function() { sidebar.removeClass('offCanvasMenu offCanvasMenu--blocks is-transitioning'); $('.uix_sidebarInner').removeClass('offCanvasMenu-content'); backdrop.removeClass('offCanvasMenu-backdrop'); $('body').removeClass('is-modalOpen'); sidebar.css('display', ''); }, 250); }) }); </script> <script> /****** OFF CANVAS ***/ $(document).ready(function() { var panels = { navigation: { position: 1 }, account: { position: 2 }, inbox: { position: 3 }, alerts: { position: 4 } }; var tabsContainer = $('.sidePanel__tabs'); var activeTab = 'navigation'; var activeTabPosition = panels[activeTab].position; var generateDirections = function() { $('.sidePanel__tabPanel').each(function() { var tabPosition = $(this).attr('data-content'); var activeTabPosition = panels[activeTab].position; if (tabPosition != activeTab) { if (panels[tabPosition].position < activeTabPosition) { $(this).addClass('is-left'); } if (panels[tabPosition].position > activeTabPosition) { $(this).addClass('is-right'); } } }); }; generateDirections(); $('.sidePanel__tab').click(function() { $(tabsContainer).find('.sidePanel__tab').removeClass('sidePanel__tab--active'); $(this).addClass('sidePanel__tab--active'); activeTab = $(this).attr('data-attr'); $('.sidePanel__tabPanel').removeClass('is-active'); $('.sidePanel__tabPanel[data-content="' + activeTab + '"]').addClass('is-active'); $('.sidePanel__tabPanel').removeClass('is-left').removeClass('is-right'); generateDirections(); }); }); /******** extra info post toggle ***********/ $(document).ready(function() { XF.thThreadsUserExtraTrigger = XF.Click.newHandler({ eventNameSpace: 'XFthThreadsUserExtraTrigger', init: function(e) {}, click: function(e) { var parent = this.$target.parents('.message-user'); var triggerContainer = this.$target.parent('.thThreads__userExtra--toggle'); var container = triggerContainer.siblings('.thThreads__message-userExtras'); var child = container.find('.message-userExtras'); var eleHeight = child.height(); if (parent.hasClass('userExtra--expand')) { container.css({ height: eleHeight }); parent.toggleClass('userExtra--expand'); window.setTimeout(function() { container.css({ height: '0' }); window.setTimeout(function() { container.css({ height: '' }); }, 200); }, 17); } else { container.css({ height: eleHeight }); window.setTimeout(function() { parent.toggleClass('userExtra--expand'); container.css({ height: '' }); }, 200); } } }); XF.Click.register('ththreads-userextra-trigger', 'XF.thThreadsUserExtraTrigger'); }); /******** Backstretch images ***********/ $(document).ready(function() { if ( 0 ) { $("body").addClass('uix__hasBackstretch'); $("body").backstretch([ "https://cdn.arstechnica.net/civis/styles/ars/images/bg/1.jpg","https://cdn.arstechnica.net/civis/styles/ars/images/bg/2.jpg","https://cdn.arstechnica.net/civis/styles/ars/images/bg/3.jpg" ], { duration: 4000, fade: 500 }); $("body").css("zIndex",""); } }); // sidenav canvas blur fix $(document).ready(function(){ $('.p-body-sideNavTrigger .button').click(function(){ $('body').addClass('sideNav--open'); }); }) $(document).ready(function(){ $("[data-ocm-class='offCanvasMenu-backdrop']").click(function(){ $('body').removeClass('sideNav--open'); }); }) $(document).on('editor:start', function (m, ed) { if (typeof (m) !== 'undefined' && typeof (m.target) !== 'undefined') { var ele = $(m.target); if (ele.hasClass('js-editor')) { var wrapper = ele.closest('.message-editorWrapper'); if (wrapper.length) { window.setTimeout(function() { var innerEle = wrapper.find('.fr-element'); if (innerEle.length) { innerEle.focus(function (e) { $('html').addClass('uix_editor--focused') }); innerEle.blur(function (e) { $('html').removeClass('uix_editor--focused') }); } }, 0); } } } }); // off canvas menu closer keyboard shortcut $(document).ready(function() { $(document.body).onPassive('keyup', function(e) { switch (e.key) { case 'Escape': $('.offCanvasMenu.is-active .offCanvasMenu-backdrop').click(); return; } }); }); </script> <script> $(document).ready(function() { var uixMegaHovered = false; $('.uix-navEl--hasMegaMenu').hoverIntent({ over: function() { if (uixMegaHovered) { menu = $(this).attr('data-nav-id'); $('.p-nav').addClass('uix_showMegaMenu'); $('.uix_megaMenu__content').removeClass('uix_megaMenu__content--active'); $('.uix_megaMenu__content--' + menu).addClass('uix_megaMenu__content--active'); } }, timeout: 200, }); $('.p-nav').mouseenter(function() { uixMegaHovered = true; }); $('.p-nav').mouseleave(function() { $(this).removeClass('uix_showMegaMenu'); uixMegaHovered = false; }); }); </script> <script> /******** signature collapse toggle ***********/ $(window).on('load', function() { window.setTimeout(function() { var maxHeight = 100; /*** check if expandable ***/ var eles = []; $('.message-signature').each(function() { var height = $(this).height(); if (height > maxHeight) { eles.push($(this)); } }); for (var i = 0; i < eles.length; i++) { eles[i].addClass('message-signature--expandable'); }; /**** expand function ***/ var expand = function(container, canClose) { var inner = container.find('.bbWrapper'); var eleHeight = inner.height(); var isExpanded = container.hasClass('message-signature--expanded'); if (isExpanded) { if (canClose) { container.css({ height: eleHeight }); container.removeClass('message-signature--expanded'); window.setTimeout(function() { container.css({ height: maxHeight }); window.setTimeout(function() { container.css({ height: '' }); }, 200); }, 17); } } else { container.css({ height: eleHeight }); window.setTimeout(function() { container.addClass('message-signature--expanded'); container.css({ height: '' }); }, 200); } } var hash = window.location.hash if (!!hash && hash.indexOf('#') === 0) { var replacedHash = hash.replace('#', ''); var ele = document.getElementById(replacedHash); if (ele) { ele.scrollIntoView(); } } /*** handle hover ***/ /*** handle click ***/ $('.uix_signatureExpand').click(function() { var container = $(this).parent('.message-signature'); expand(container, true); }); }, 0); }); </script> <script> $(document).ready(function() { setTimeout(function () { var editor = XF.getEditorInContainer($(document)); if (!!editor && !!editor.ed) { editor.ed.events.on('focus', function() { $('.uix_fabBar').css('display', 'none'); }) editor.ed.events.on('blur', function() { $('.uix_fabBar').css('display', ''); }) } }, 100) }) </script> <script> $(document).on('ajax:complete', function(e, xhr, status) { var data = xhr.responseJSON; if (!data) { return; } if (data.visitor) { $('.js-uix_badge--totalUnread').data('badge', data.visitor.total_unread); } }); </script> <script> // add items to action bar overflow menu for messages XF.MenuBuilder.actionBarNew = function($menu, $target, handler) { var $menuTarget = $menu.find('.js-menuBuilderTarget'); console.log( $target.closest('.message-main').find('.actionBar-set--internal') ); $target.closest('.message-main').find('.actionBar-set--internal').find('.actionBar-action--menuItem').each(function() { var $item = $(this).clone(); $item.removeClass().addClass('menu-linkRow'); $menuTarget.append($item); }); XF.activate($menuTarget); }; // set profile post comments to open in an overlay $(document).ready(function() { $('.uix_commentsTrigger').click(function() { $(document).on('ajax-submit:response', function(e, data) { console.log(data); if (data && data.html) { XF.Message.insertMessages(data.html, $('.overlay .js-replyNewMessageContainer'), true, function($messages){}); } }); var overlayContent = $(this).closest('.message-main').find('.uix_commentsContainer').clone(); console.log(overlayContent); var $overlay = XF.getOverlayHtml({ title: XF.phrase('Comments'), dismissible: true, html: overlayContent }); var xfOverlay = new XF.Overlay($overlay, { backdropClose: true, keyboard: true }); xfOverlay.show(); return xfOverlay }); }); $(document).ready(function() { $('.actionBar-action--commentLightbox').click(function(e) { e.preventDefault(); th_xfmgCommentClick = true; $(this).closest('.ac_mediaItem').find('.contentRow-title a').click(); }) $('.js-uix_lightboxTrigger').click(function(e) { e.preventDefault(); $(this).closest('.ac_mediaItem').find('.ac_mediaClickTarget a').click(); }) }) $(document).ready(function() { $('.js-uix_togglePageWidth').click(function() { var ele = $('#uix_widthToggle--trigger'); if (ele && ele.length > 0) { ele[0].click() } }) }) $(document).ready(function() { $('.uix_sidebarTrigger__component').click(XF.MenuWatcher.closeAll); $('.js-feedSelectMenu .js-tab').click(XF.MenuWatcher.closeAll); }) </script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/acui/defer.min.js?_v=22f617b4" defer></script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/acui/deferFab.min.js?_v=22f617b4" defer></script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/acui/deferNodesCollapse.min.js?_v=22f617b4" defer></script> <script src="https://cdn.arstechnica.net/civis/js/themehouse/acui/deferWidthToggle.min.js?_v=22f617b4" defer></script> <script> jQuery.extend(true, XF.config, { // userId: 0, enablePush: false, pushAppServerKey: '', url: { fullBase: 'https://arstechnica.com/civis/', basePath: '/civis/', css: 'https://cdn.arstechnica.net/civis/css.php?css=__SENTINEL__&s=3&l=1&d=1739239862', keepAlive: '/civis/login/keep-alive' }, cookie: { path: '/', domain: '.arstechnica.com', prefix: 'xf_', secure: true }, cacheKey: 'c1501a2f403a973389b2ce743b8df059', csrf: '1739850300,8536f2f319c20c8516b6a9945c6e6a3f', js: {"https:\/\/cdn.arstechnica.net\/civis\/js\/themehouse\/styleswitch\/global.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/xf\/lightbox-compiled.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/editor-manager\/video-audio.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/xf\/code_block-compiled.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/audentio\/guest-prompts\/overlay.min.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/audentio\/wpconnect\/thread.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/vendor\/iframe-resizer.child.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/audentio\/logincookie\/logincookie.min.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/themehouse\/acui\/ripple.min.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/themehouse\/global\/20210125.min.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/themehouse\/acui\/index.min.js?_v=22f617b4":true,"https:\/\/cdn.arstechnica.net\/civis\/js\/themehouse\/acui\/vendor\/hover-intent\/jquery.hoverIntent.min.js?_v=22f617b4":true}, css: {"public:ac_app.less":true,"public:adguest_overlay.less":true,"public:ars_xf.less":true,"public:aud_wpconnect.less":true,"public:bb_code.less":true,"public:help_bb_codes.less":true,"public:kl_em_bb_code.less":true,"public:kl_em_plyr.less":true,"public:lightbox.less":true,"public:thstyleswitch.less":true,"public:uix.less":true,"public:uix_socialMedia.less":true,"public:extra.less":true}, time: { now: 1739850300, today: 1739768400, todayDow: 1, tomorrow: 1739854800, yesterday: 1739682000, week: 1739250000 }, borderSizeFeature: '2px', fontAwesomeWeight: 'r', enableRtnProtect: true, enableFormSubmitSticky: true, uploadMaxFilesize: 10485760, allowedVideoExtensions: ["m4v","mov","mp4","mp4v","mpeg","mpg","ogv","webm"], allowedAudioExtensions: ["mp3","opus","ogg","wav"], shortcodeToEmoji: true, visitorCounts: { conversations_unread: '0', alerts_unviewed: '0', total_unread: '0', title_count: true, icon_indicator: true }, jsState: {}, publicMetadataLogoUrl: '', publicPushBadgeUrl: 'https://arstechnica.com/civis/styles/default/xenforo/bell.png' }); jQuery.extend(XF.phrases, { // date_x_at_time_y: "{date} at {time}", day_x_at_time_y: "{day} at {time}", yesterday_at_x: "Yesterday at {time}", x_minutes_ago: "{minutes} minutes ago", one_minute_ago: "1 minute ago", a_moment_ago: "A moment ago", today_at_x: "Today at {time}", in_a_moment: "In a moment", in_a_minute: "In a minute", in_x_minutes: "In {minutes} minutes", later_today_at_x: "Later today at {time}", tomorrow_at_x: "Tomorrow at {time}", day0: "Sunday", day1: "Monday", day2: "Tuesday", day3: "Wednesday", day4: "Thursday", day5: "Friday", day6: "Saturday", dayShort0: "Sun", dayShort1: "Mon", dayShort2: "Tue", dayShort3: "Wed", dayShort4: "Thu", dayShort5: "Fri", dayShort6: "Sat", month0: "January", month1: "February", month2: "March", month3: "April", month4: "May", month5: "June", month6: "July", month7: "August", month8: "September", month9: "October", month10: "November", month11: "December", active_user_changed_reload_page: "The active user has changed. Reload the page for the latest version.", server_did_not_respond_in_time_try_again: "The server did not respond in time. Please try again.", oops_we_ran_into_some_problems: "Oops! We ran into some problems.", oops_we_ran_into_some_problems_more_details_console: "Oops! We ran into some problems. Please try again later. More error details may be in the browser console.", file_too_large_to_upload: "The file is too large to be uploaded.", uploaded_file_is_too_large_for_server_to_process: "The uploaded file is too large for the server to process.", files_being_uploaded_are_you_sure: "Files are still being uploaded. Are you sure you want to submit this form?", attach: "Attach files", rich_text_box: "Rich text box", close: "Close", link_copied_to_clipboard: "Link copied to clipboard.", text_copied_to_clipboard: "Text copied to clipboard.", loading: "Loading…", you_have_exceeded_maximum_number_of_selectable_items: "You have exceeded the maximum number of selectable items.", processing: "Processing", 'processing...': "Processing…", showing_x_of_y_items: "Showing {count} of {total} items", showing_all_items: "Showing all items", no_items_to_display: "No items to display", number_button_up: "Increase", number_button_down: "Decrease", push_enable_notification_title: "Push notifications enabled successfully at Ars OpenForum", push_enable_notification_body: "Thank you for enabling push notifications!" , "svStandardLib_time.day": "{count} day", "svStandardLib_time.days": "{count} days", "svStandardLib_time.hour": "{count} hour", "svStandardLib_time.hours": "{count} hours", "svStandardLib_time.minute": "{count} minutes", "svStandardLib_time.minutes": "{count} minutes", "svStandardLib_time.month": "{count} month", "svStandardLib_time.months": "{count} months", "svStandardLib_time.second": "{count} second", "svStandardLib_time.seconds": "{count} seconds", "svStandardLib_time.week": "time.week", "svStandardLib_time.weeks": "{count} weeks", "svStandardLib_time.year": "{count} year", "svStandardLib_time.years": "{count} years" }); </script> <form style="display:none" hidden="hidden"> <input type="text" name="_xfClientLoadTime" value="" id="_xfClientLoadTime" title="_xfClientLoadTime" tabindex="-1" /> </form> <script type="text/template" id="xfReactTooltipTemplate"> <div class="tooltip-content-inner"> <div class="reactTooltip"> <a href="#" class="reaction reaction--1" data-reaction-id="1"><i aria-hidden="true"></i><img src="https://cdn.arstechnica.net/civis/data/assets/reactions/thumbs-up-32-green-glow.png" srcset="https://cdn.arstechnica.net/civis/data/assets/reactions/thumbs-up-64-green-glow.png 2x" class="reaction-image js-reaction" alt="Like" title="Like" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--2" data-reaction-id="2"><i aria-hidden="true"></i><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Love" title="Love" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--3" data-reaction-id="3"><i aria-hidden="true"></i><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Haha" title="Haha" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--4" data-reaction-id="4"><i aria-hidden="true"></i><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Wow" title="Wow" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--5" data-reaction-id="5"><i aria-hidden="true"></i><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Sad" title="Sad" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--7" data-reaction-id="7"><i aria-hidden="true"></i><img src="https://cdn.arstechnica.net/civis/data/assets/reactions/hug-32-blue-orange.png" srcset="https://cdn.arstechnica.net/civis/data/assets/reactions/hug-64-blue-orange.png 2x" class="reaction-image js-reaction" alt="Hug" title="Hug" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--6" data-reaction-id="6"><i aria-hidden="true"></i><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Angry" title="Angry" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--8" data-reaction-id="8"><i aria-hidden="true"></i><img src="https://cdn.arstechnica.net/civis/data/assets/reactions/spicy-react.png" srcset="https://cdn.arstechnica.net/civis/data/assets/reactions/spicy-react-2x.png 2x" class="reaction-image js-reaction" alt="Spicy" title="Spicy" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> </div> </div> </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10