1<!DOCTYPE html> 2<html class="gl-system ui-neutral with-top-bar with-header page-with-panels with-gl-container-queries user-logged-out" lang="en"> 3<head prefix="og: http://ogp.me/ns#"> 4<meta charset="utf-8"> 5<meta content="IE=edge" http-equiv="X-UA-Compatible"> 6<meta content="width=device-width, initial-scale=1" name="viewport"> 7<title>Explore projects · GitLab</title> 8<link as="font" crossorigin="" href="/assets/gitlab-sans/GitLabSans-9892dc17af892e03de41625c0ee325117a3b8ee4ba6005f3a3eac68510030aed.woff2" rel="preload"> 9<link as="font" crossorigin="" href="/assets/gitlab-sans/GitLabSans-Italic-f96f17332d67b21ada2dfba5f0c0e1d5801eab99330472057bf18edd93d4ccf7.woff2" rel="preload"> 10<link as="font" crossorigin="" href="/assets/gitlab-mono/GitLabMono-29c2152dac8739499dd0fe5cd37a486ebcc7d4798c9b6d3aeab65b3172375b05.woff2" rel="preload"> 11<link as="font" crossorigin="" href="/assets/gitlab-mono/GitLabMono-Italic-af36701a2188df32a9dcea12e0424c380019698d4f76da9ad8ea2fd59432cf83.woff2" rel="preload"> 12
13<script> 14//<![CDATA[ 15window.gon={};gon.api_version="v4";gon.default_avatar_url="https://0xacab.org/assets/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.webpack_public_path="/assets/webpack/";gon.relative_url_root="";gon.user_color_mode="gl-system";gon.user_color_scheme="white";gon.markdown_surround_selection=null;gon.markdown_automatic_lists=null;gon.markdown_maintain_indentation=null;gon.math_rendering_limits_enabled=true;gon.iframe_rendering_enabled=false;gon.iframe_rendering_allowlist=[];gon.recaptcha_api_server_url="https://www.recaptcha.net/recaptcha/api.js";gon.recaptcha_sitekey="";gon.gitlab_url="https://0xacab.org";gon.promo_url="https://about.gitlab.com";gon.forum_url="https://forum.gitlab.com";gon.docs_url="https://docs.gitlab.com";gon.revision="191678a3764";gon.feature_category="groups_and_projects";gon.gitlab_logo="/assets/gitlab_logo-2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png";gon.secure=true;gon.sprite_icons="/assets/icons-5a3f88503a318f1eaf3b49d9d82c93cdde31fd5224ab8aeeb08534974b21f10c.svg";gon.sprite_file_icons="/assets/file_icons/file_icons-90de312d3dbe794a19dee8aee171f184ff69ca9c9cf9fe37e8b254e84c3a1543.svg";gon.illustrations_path="/assets/illustrations-ae6d9d10410e9e8b59dd365dcf0480219354eb6eed057c8fecd9d17cf9b18ec4.svg";gon.emoji_sprites_css_path="/assets/emoji_sprites-9f4e433199c18178b03727c749cbd0c22e569f69ffb05ec235a49dc29b318bb3.css";gon.emoji_backend_version=4;gon.test_env=false;gon.disable_animations=false;gon.suggested_label_colors={"#cc338b":"Magenta-pink","#dc143c":"Crimson","#c21e56":"Rose red","#cd5b45":"Dark coral","#ed9121":"Carrot orange","#eee600":"Titanium yellow","#009966":"Green-cyan","#8fbc8f":"Dark sea green","#6699cc":"Blue-gray","#e6e6fa":"Lavender","#9400d3":"Dark violet","#330066":"Deep violet","#36454f":"Charcoal grey","#808080":"Gray"};gon.first_day_of_week=1;gon.time_display_relative=true;gon.time_display_format=0;gon.ee=false;gon.jh=false;gon.dot_com=false;gon.uf_error_prefix="UF";gon.pat_prefix="";gon.fluid_layout=false;gon.keyboard_shortcuts_enabled=true;gon.emoji_autocomplete_enabled=true;gon.broadcast_message_dismissal_path=null;gon.diagramsnet_url="https://embed.diagrams.net";gon.features={"uiForOrganizations":false,"pageBreadcrumbsInTopBar":false,"orgSwitcher":false,"findAndReplace":false,"removeMonitorMetrics":true,"workItemsClientSideBoards":false,"editorStickyTableHeaders":false,"hideUnpinnedSidebarItems":false,"markdownSortableTableColumns":false,"workItemFeaturesField":false,"securityManagerRoleEnabled":true}; 16//]]> 17</script>
17 18
19<script> 20//<![CDATA[ 21const root = document.documentElement; 22if (window.matchMedia('(prefers-color-scheme: dark)').matches) { 23 root.classList.add('gl-dark'); 24} 25 26window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => { 27 if (e.matches) { 28 root.classList.add('gl-dark'); 29 } else { 30 root.classList.remove('gl-dark'); 31 } 32}); 33 34//]]> 35</script>
35 36 37 38<link href="https://0xacab.org/explore/projects" rel="canonical"> 39 40 41<meta content="light dark" name="color-scheme"> 42<link rel="stylesheet" href="/assets/application-38bbb7710d1c136698908a2d115057b2d6043a4caea4ba99118e3cae57fd9937.css" media="(prefers-color-scheme: light)" /> 43<link rel="stylesheet" href="/assets/application_dark-33fb0fbbb609214d8e0f7df0f679d4e872badbaaae9f879dca22f043fee63e03.css" media="(prefers-color-scheme: dark)" /> 44<link rel="stylesheet" href="/assets/page_bundles/commit_description-9e7efe20f0cef17d0606edabfad0418e9eb224aaeaa2dae32c817060fa60abcc.css" /><link rel="stylesheet" href="/assets/page_bundles/design_management-b0d28c79dc2ff36cbf37b4fa7b3bfb2908c91dcec0cf3fb800f11aaa25b08ea8.css" /><link rel="stylesheet" href="/assets/page_bundles/issuable_list-7a33f8b5a79c609e4bac7e1fa1c5553962adf726cd700fbead1f9e974c41e7c9.css" /><link rel="stylesheet" href="/assets/page_bundles/issues_list-1d9cdbbaf9469f9073c410dc7a7f2543b02071773aa332daf63803eaaec87e62.css" /><link rel="stylesheet" href="/assets/page_bundles/issues_show-ec954ae4932e0bfe7383adee3c75f53c5985c6edea62c7ae4370cb1f6e85a91a.css" /><link rel="stylesheet" href="/assets/page_bundles/notes_shared-009bfb6fa90b583372e5d3f444ccd9b89aa6278564b128d1f21b404747a3981b.css" /><link rel="stylesheet" href="/assets/page_bundles/work_items-41608cf50d5529e591f5a635c447fbb3a3bd5892765619ad68eba61d6c811aea.css" /> 45<link rel="stylesheet" href="/assets/tailwind-7400ed60609548461aba7dbe0e73b2a51af66e88c8e6246cee55eab159342bff.css" /> 46 47 48<link rel="stylesheet" href="/assets/fonts-deb7ad1d55ca77c0172d8538d53442af63604ff490c74acc2859db295c125bdb.css" /> 49<link rel="stylesheet" href="/assets/highlight/themes/white-42be68d65ac8b040938b8b730ca40aed564d4576f3f8de65a8bd3f53d41f5ef2.css" media="(prefers-color-scheme: light)" /> 50<link rel="stylesheet" href="/assets/highlight/themes/dark-9a46f25e9c82f3f8bb605049dc6f2462d071fefd58002c4a9eba2cfbf694466a.css" media="(prefers-color-scheme: dark)" /> 51
52<script src="/assets/webpack/runtime.30a42173.bundle.js" defer="defer"></script>
vendor: 1 bytes, line 52
52
53<script src="/assets/webpack/main.9b4c0f6f.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 53
53
54<script src="/assets/webpack/tracker.1eb446cb.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 54
54
55<script> 56//<![CDATA[ 57window.snowplowOptions = {"namespace":"gl","hostname":"0xacab.org:443","postPath":"/-/collect_events","forceSecureTracker":true,"appId":"gitlab_sm"}; 58gl = window.gl || {}; 59gl.snowplowStandardContext = {"schema":"iglu:com.gitlab/gitlab_standard/jsonschema/1-1-8","data":{"environment":"self-managed","source":"gitlab-rails","correlation_id":"01M3CEFXDKGGEQEC3HCMS8V0V2","extra":{},"user_id":null,"global_user_id":null,"user_type":null,"is_gitlab_team_member":null,"namespace_id":null,"ultimate_parent_namespace_id":null,"project_id":null,"feature_enabled_by_namespace_ids":null,"realm":"self-managed","deployment_type":"self-managed","context_generated_at":"2026-09-25T14:11:15.708Z","organization_id":1}}; 60gl.snowplowPseudonymizedPageUrl = "https://0xacab.org/explore"; 61gl.maskedDefaultReferrerUrl = null; 62gl.ga4MeasurementId = 'G-ENFH3X7M5Y'; 63gl.duoEvents = []; 64gl.onlySendDuoEvents = true; 65 66 67//]]> 68</script>
68 69 70 71
72<script src="/assets/webpack/commons-graphql_explorer-pages.admin.application_settings.service_accounts-pages.admin.applications--1ccd7d89.8deea551.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 72
72
73<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.dashboard.issues-pages.dashboard.issues.vue3-pages.dash-55dde355.128a952b.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 73
73
74<script src="/assets/webpack/commons-pages.admin.application_settings.service_accounts-pages.explore.analytics_dashboards-pages.e-306889d5.db04dd7a.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 74
74
75<script src="/assets/webpack/commons-pages.admin.deploy_keys.index-pages.admin.deploy_keys.index.vue3-pages.admin.groups.index-pa-c78a0679.f4864b25.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 75
75
76<script src="/assets/webpack/commons-pages.dashboard.home-pages.registrations.new-pages.sessions.new-pages.users-pages.users.show-62bbbb3c.ec8c904f.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 76
76
77<script src="/assets/webpack/commons-pages.dashboard.home-pages.projects.snippets.show-pages.snippets.show-super_sidebar.af1f9ecd.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 77
77
78<script src="/assets/webpack/0dcf7166.fee24f6c.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 78
78
79<script src="/assets/webpack/commons-pages.search.show-super_sidebar.052f515d.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 79
79
80<script src="/assets/webpack/super_sidebar.392c40de.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 80
80
81<script src="/assets/webpack/8632254b.bbb48efe.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 81
81
82<script src="/assets/webpack/commons-pages.admin.abuse_reports-pages.admin.abuse_reports.show-pages.admin.groups.index-pages.admi-88e7d601.230c4d96.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 82
82
83<script src="/assets/webpack/commons-pages.admin.groups.index-pages.admin.projects.index-pages.dashboard.groups.index-pages.dashb-d9f1a9f5.ac341477.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 83
83
84<script src="/assets/webpack/97619091.4d13c60d.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 84
84
85<script src="/assets/webpack/commons-pages.admin.groups.index-pages.admin.projects.index-pages.dashboard.groups.index-pages.dashb-6a77819a.c8e3ad4b.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 85
85
86<script src="/assets/webpack/9440c85a.c1901e2d.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 86
86
87<script src="/assets/webpack/commons-pages.admin.groups.index-pages.admin.projects.index-pages.dashboard.groups.index-pages.dashb-5d8e349a.96336590.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 87
87
88<script src="/assets/webpack/commons-pages.admin.projects.index-pages.dashboard.projects-pages.explore.projects-pages.groups.show-b9c2e605.b6eb00f6.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 88
88
89<script src="/assets/webpack/commons-pages.admin.projects.index-pages.dashboard.projects-pages.explore.projects-pages.groups.show-a1c4592e.5c56a65b.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 89
89
90<script src="/assets/webpack/commons-pages.admin.projects.index-pages.dashboard.projects-pages.explore.projects-pages.groups.show-b40b422c.7d42540b.chunk.js" defer="defer"></script>
vendor: 1 bytes, line 90
90
91<script src="/assets/webpack/pages.explore.projects.0577ce93.chunk.js" defer="defer"></script>
91 92 93<meta content="object" property="og:type"> 94<meta content="GitLab" property="og:site_name"> 95<meta content="Explore projects · GitLab" property="og:title"> 96<meta content="0xacab" property="og:description"> 97<meta content="https://0xacab.org/assets/twitter_card-570ddb06edf56a2312253c5872489847a0f385112ddbcd71ccfa1570febab5d2.jpg" property="og:image"> 98<meta content="64" property="og:image:width"> 99<meta content="64" property="og:image:height"> 100<meta content="https://0xacab.org/explore" property="og:url"> 101<meta content="summary" property="twitter:card"> 102<meta content="Explore projects · GitLab" property="twitter:title"> 103<meta content="0xacab" property="twitter:description"> 104<meta content="https://0xacab.org/assets/twitter_card-570ddb06edf56a2312253c5872489847a0f385112ddbcd71ccfa1570febab5d2.jpg" property="twitter:image"> 105 106<meta name="csrf-param" content="authenticity_token" /> 107<meta name="csrf-token" content="EDPXBqskqf7J5sUg-65uHDLPP6EuoNynErmhl2UTPkm_NJmB0s1jsrfWuFRrq0E5JL7uMsK1YM0-XtsdcdYI9w" /> 108<meta name="csp-nonce" /> 109<meta name="action-cable-url" content="/-/cable" /> 110<link crossorigin="use-credentials" href="/-/manifest.json" rel="manifest"> 111<link rel="icon" type="image/png" href="/uploads/-/system/appearance/favicon/1/0xacab_72x72.png" id="favicon" data-original-href="/uploads/-/system/appearance/favicon/1/0xacab_72x72.png" /> 112<link rel="apple-touch-icon" type="image/x-icon" href="/assets/apple-touch-icon-b049d4bc0dd9626f31db825d61880737befc7835982586d015bded10b4435460.png" /> 113<link crossorigin="use-credentials" href="/search/opensearch.xml" rel="search" title="Search GitLab" type="application/opensearchdescription+xml"> 114 115 116 117 118<meta content="0xacab" name="description"> 119<meta content="#F1F0F6" media="(prefers-color-scheme: light)" name="theme-color"> 120<meta content="#232128" media="(prefers-color-scheme: dark)" name="theme-color"> 121</head> 122 123<body class="tab-width-8 gl-browser-chrome gl-platform-other" data-page="explore:projects:index"> 124<div id="js-tooltips-container"></div> 125
126<script> 127//<![CDATA[ 128gl = window.gl || {}; 129gl.client = {"isChrome":true,"isOther":true}; 130 131 132//]]> 133</script>
133 134 135 136<header class="super-topbar js-super-topbar"></header> 137<div class="layout-page js-page-layout page-with-super-sidebar">
138<script> 139//<![CDATA[ 140const outer = document.createElement('div'); 141outer.style.visibility = 'hidden'; 142outer.style.overflow = 'scroll'; 143document.body.appendChild(outer); 144const inner = document.createElement('div'); 145outer.appendChild(inner); 146const scrollbarWidth = outer.offsetWidth - inner.offsetWidth; 147outer.parentNode.removeChild(outer); 148document.documentElement.style.setProperty('--scrollbar-width', `${scrollbarWidth}px`); 149 150//]]> 151</script>
151<aside class="js-super-sidebar super-sidebar super-sidebar-loading" data-command-palette="{}" data-is-saas="false" data-sidebar="{"is_logged_in":false,"compare_plans_url":"https://about.gitlab.com/pricing","current_menu_items":[{"id":"projects_menu","title":"Projects","icon":"project","avatar_shape":"rect","link":"/explore/projects","is_active":true,"items":[],"separated":false},{"id":"groups_menu","title":"Groups","icon":"group","avatar_shape":"rect","link":"/explore/groups","is_active":false,"items":[],"separated":false},{"id":"catalog_menu","title":"CI/CD Catalog","icon":"catalog-checkmark","avatar_shape":"rect","link":"/explore/catalog","is_active":false,"items":[],"separated":false},{"id":"topics_menu","title":"Topics","icon":"labels","avatar_shape":"rect","link":"/explore/projects/topics","is_active":false,"items":[],"separated":false},{"id":"snippets_menu","title":"Snippets","icon":"snippet","avatar_shape":"rect","link":"/explore/snippets","is_active":false,"items":[],"separated":false}],"current_context_header":"Explore","support_path":"https://support.gitlab.com","display_whats_new":false,"show_version_check":false,"search":{"search_context":{"for_snippets":null}},"panel_type":"explore","shortcut_links":[{"title":"Snippets","href":"/explore/snippets","css_class":"dashboard-shortcuts-snippets"},{"title":"Groups","href":"/explore/groups","css_class":"dashboard-shortcuts-groups"},{"title":"Projects","href":"/explore/projects","css_class":"dashboard-shortcuts-projects"}],"has_terms":false,"allow_signup":"true","pinned_items":[]}"></aside> 152 153<div class="broadcast-wrapper gl-rounded-lg gl-overflow-hidden"> 154 155 156 157</div> 158<div class="panels-container gl-flex gl-gap-3"> 159<div class="content-panels gl-flex-1 gl-w-full gl-flex gl-gap-0 gl-relative js-content-panels gl-@container/content-panels"> 160<div class="paneled-view static-panel js-static-panel js-paneled-view content-wrapper"> 161<div class="panel-header"> 162<div class="panel-header-inner js-panel-header-inner">
163<script type="application/ld+json"> 164{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Explore","item":"https://0xacab.org/explore"},{"@type":"ListItem","position":2,"name":"Projects","item":"https://0xacab.org/explore"}]} 165 166 167</script>
167 168<div data-testid="breadcrumb-links" id="js-vue-page-breadcrumbs-wrapper"> 169<div data-breadcrumbs-json="[{"text":"Explore","href":"/explore","avatarPath":null},{"text":"Projects","href":"/explore","avatarPath":null}]" id="js-vue-page-breadcrumbs"></div> 170<div id="js-injected-page-breadcrumbs"></div> 171</div> 172<div id="js-page-breadcrumbs-extra"></div> 173 174 175 176<div class="panel-header-inner-actions"> 177 178 179<div class="panel-header-inner-actions-portal-target js-panel-actions-portal-target"></div> 180</div> 181</div> 182</div> 183<div class="panel-content"> 184<div class="panel-content-inner js-static-panel-inner"> 185<div class="alert-wrapper alert-wrapper-top-space gl-flex gl-flex-col gl-gap-3 container-fluid container-limited"> 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208</div> 209 210 211<div class="container-fluid container-limited "> 212<main class="content gl-@container/panel" id="content-body"> 213<div id="js-drawer-container"></div> 214<div class="flash-container flash-container-page sticky" data-testid="flash-container"> 215<div id="js-global-alerts"></div> 216</div> 217 218 219 220 221<div class="page-title-holder gl-flex gl-items-center" data-testid="explore-projects-title"> 222<h1 class="page-title gl-text-size-h-display">Explore projects</h1> 223<div class="page-title-controls"> 224</div> 225</div> 226 227<div data-base-path="/explore/projects" data-initial-sort="latest_activity_desc" data-programming-languages="[{"id":31,"name":"Awk","color":"#4f4b81","created_at":"2018-10-16T15:06:52.874Z","language_id":28},{"id":15,"name":"C","color":"#555555","created_at":"2018-09-26T18:14:46.743Z","language_id":41},{"id":12,"name":"C++","color":"#f34b7d","created_at":"2018-09-23T22:54:26.143Z","language_id":43},{"id":2,"name":"CSS","color":"#663399","created_at":"2018-09-23T04:16:16.399Z","language_id":50},{"id":54,"name":"Dockerfile","color":"#384d54","created_at":"2019-04-24T21:21:03.187Z","language_id":89},{"id":16,"name":"Go","color":"#00ADD8","created_at":"2018-09-26T18:46:03.768Z","language_id":132},{"id":3,"name":"HTML","color":"#e34c26","created_at":"2018-09-23T04:16:16.408Z","language_id":146},{"id":53,"name":"Hack","color":"#878787","created_at":"2019-04-22T21:23:05.672Z","language_id":153},{"id":97,"name":"Haml","color":"#ece2a9","created_at":"2020-10-27T23:45:37.736Z","language_id":154},{"id":19,"name":"Java","color":"#b07219","created_at":"2018-09-30T12:11:18.319Z","language_id":181},{"id":1,"name":"JavaScript","color":"#f1e05a","created_at":"2018-09-23T04:16:16.369Z","language_id":183},{"id":114,"name":"Jinja","color":"#a52a22","created_at":"2022-07-22T17:44:53.086Z","language_id":147},{"id":28,"name":"M4","color":"#449a90","created_at":"2018-10-10T15:10:32.554Z","language_id":215},{"id":10,"name":"Makefile","color":"#427819","created_at":"2018-09-23T11:06:11.075Z","language_id":220},{"id":4,"name":"PHP","color":"#4F5D95","created_at":"2018-09-23T06:01:11.285Z","language_id":272},{"id":25,"name":"Perl","color":"#0298c3","created_at":"2018-10-09T05:37:11.745Z","language_id":282},{"id":14,"name":"Puppet","color":"#302B6D","created_at":"2018-09-26T15:20:49.451Z","language_id":299},{"id":8,"name":"Python","color":"#3572A5","created_at":"2018-09-23T10:58:54.131Z","language_id":303},{"id":11,"name":"Ruby","color":"#701516","created_at":"2018-09-23T11:06:11.104Z","language_id":326},{"id":58,"name":"Rust","color":"#dea584","created_at":"2019-05-24T18:10:21.082Z","language_id":327},{"id":94,"name":"SCSS","color":"#c6538c","created_at":"2020-10-23T21:19:17.135Z","language_id":329},{"id":5,"name":"Shell","color":"#89e051","created_at":"2018-09-23T07:33:00.144Z","language_id":346},{"id":7,"name":"TeX","color":"#3D6117","created_at":"2018-09-23T09:03:22.723Z","language_id":369},{"id":13,"name":"TypeScript","color":"#3178c6","created_at":"2018-09-25T12:45:22.150Z","language_id":378},{"id":44,"name":"Vue","color":"#41b883","created_at":"2019-01-20T16:24:51.658Z","language_id":391}]" id="js-explore-projects"></div> 228 229 230</main> 231</div> 232 233 234</div> 235 236 237</div> 238</div> 239<div class="paneled-view-portal gl-@container/panel !gl-absolute gl-rounded-l-xl gl-shadow-lg gl-bg-default @xl/content-panels:gl-w-1/2 @xl/content-panels:gl-rounded-l-none @xl/content-panels:gl-shadow-none @xl/content-panels:!gl-relative @xl/content-panels:gl-bg-transparent gl-right-0" id="contextual-panel-portal"></div> 240</div> 241</div> 242 243</div> 244 245
246<script> 247//<![CDATA[ 248if ('loading' in HTMLImageElement.prototype) { 249 document.querySelectorAll('img.lazy').forEach(img => { 250 img.loading = 'lazy'; 251 let imgUrl = img.dataset.src; 252 // Only adding width + height for avatars for now 253 // Keep this logic in sync with appendWidthToAvatarUrl in 254 // app/assets/javascripts/vue_shared/components/user_avatar/utils.js 255 if (imgUrl.indexOf('/avatar/') > -1 && !imgUrl.includes('width=')) { 256 const targetWidth = img.getAttribute('width') || img.width; 257 imgUrl += imgUrl.includes('?') ? `&width=${targetWidth}` : `?width=${targetWidth}`; 258 } 259 img.src = imgUrl; 260 img.removeAttribute('data-src'); 261 img.classList.remove('lazy'); 262 img.classList.add('js-lazy-loaded'); 263 img.dataset.testid = 'js-lazy-loaded-content'; 264 }); 265} 266 267//]]> 268</script>
vendor: 1 bytes, line 268
268
269<script> 270//<![CDATA[ 271gl = window.gl || {}; 272gl.experiments = {}; 273 274 275//]]> 276</script>
276 277 278</body> 279</html> 280
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.